December 2019 Commit Log

Number of Commits:
36
Number of Active Developers:
3
partmedia 2019-12-29 22:21 Rev.: 21078

Fix Horn of Sirens

Players in possession of a Horn of Sirens now only have horns. Fix by
adding the artifact back, but setting the chance to 0.

16 lines of code changed in 1 file:

partmedia 2019-12-29 22:21 Rev.: 21077

Refactor monster_npc_call_help()

7 lines of code changed in 1 file:

partmedia 2019-12-29 22:12 Rev.: 21076

Refactor; remove notes about performance

There is probably no performance benefit from reducing the number of
calls to mapdata_cell(). However, this particular change made the code
more readable, so keep this change. I refactored the scope of the new
temporary MapCell variables.

I compared the assembly of the old code with the new code. I used clang
8.0.1 with -O2 on FreeBSD/amd64. In both versions, the assembly has
mapdata_cell() inlined and lifted out of the inner loop:

movq the_map(%rip), %r12
movslq %edi, %r13
movslq %esi, %rax
imulq $152, %rax, %r15
movq (%r12,%r13,8), %rdi
addq %r15, %rdi

Even though the old code has multiple calls and the new code has an
intermediate variable, both generated the same code! Notice how the
result of "calling" mapdata_cell() is never stored in memory; it stays
in a register.

In general, in the age of deep pipelines, large caches, and speculative
execution, even comparing assembly is generally not enough. However,
when both versions produce the same assembly, it's a pretty convincing
argument that there is no performance benefit.

There are plenty of inefficiencies hanging around in the client, for
example, the unnecessary double-buffering in Pixmap mode, that when
fixed would produce a measurable performance benefit. But trying to
outsmart the compiler probably isn't going to do much.

3 lines of code changed in 2 files:

silvernexus 2019-12-29 20:47 Rev.: 21075

Reduce severity of artifacts lacking a random chance to debug.
This should be possible and may not be in error.

7 lines of code changed in 2 files:

silvernexus 2019-12-29 19:47 Rev.: 21074

Reduce calls to mapdata_cell

19 lines of code changed in 2 files:

partmedia 2019-12-28 23:10 Rev.: 21073

Add Serf's House

1011 lines of code changed in 2 files:

partmedia 2019-12-28 21:25 Rev.: 21072

Add citylife to scorncounty

33 lines of code changed in 1 file:

partmedia 2019-12-28 21:24 Rev.: 21071

Add more farmland outside Scorn

Add more farmland in the style of a manor outside Scorn.

533 lines of code changed in 5 files:

partmedia 2019-12-28 08:30 Rev.: 21070

Add formulas for casting and melting rings and amulets

40 lines of code changed in 1 file:

partmedia 2019-12-28 08:29 Rev.: 21069

Refactor recipe_chance()

Rewrite and document recipe_chance() so it's more clear what it does.

30 lines of code changed in 2 files:

partmedia 2019-12-28 08:28 Rev.: 21068

Stop another warning about magic items without inventory

2 lines of code changed in 1 file:

partmedia 2019-12-27 20:50 Rev.: 21067

Send weight update after object_decrease_nrof()

This fixes bugs/804, where eating food out of a container in the
player's inventory doesn't update the displayed container weight.

2 lines of code changed in 1 file:

partmedia 2019-12-27 02:33 Rev.: 21066

Do not send upditem for unsent items

Sometimes, we try to update an item that we haven't sent to the client.
Don't! This can happen, for example, when a button under the floor gets
toggled, but objects under floor tiles are generally not sent. There are
some other places where this happens that we haven't tracked down, but
in general, just don't.

8 lines of code changed in 2 files:

partmedia 2019-12-27 02:21 Rev.: 21065

Improve findsmooth warning

Try to find a smoothing face, or the default smoothing face. If this
fails, set NS_FACESENT_SMOOTH so we don't try to send it again.

Failures are usually due to map makers changing the face of a ground
tile, but forgetting to unset smoothlevel.

10 lines of code changed in 1 file:

partmedia 2019-12-26 23:57 Rev.: 21064

Check object is player before calling QuestGetState()

50 lines of code changed in 5 files:

partmedia 2019-12-26 22:12 Rev.: 21063

Update item name when applying item

Applying an item identifies its enchantment, which changes the base
name. Send the client a name update.

1 lines of code changed in 1 file:

partmedia 2019-12-26 22:12 Rev.: 21062

Always check weight in check_spell_knockback()

Since we check for nonzero weight in check_spell_knockback() anyway, do
the check there and don't warn about it being nonzero.

7 lines of code changed in 1 file:

partmedia 2019-12-26 22:12 Rev.: 21061

Stop warning about magic items without inventory

Some magical items like horn bases are not associated with a spell.

2 lines of code changed in 1 file:

partmedia 2019-12-26 20:56 Rev.: 21060

Rename 'quit' command to 'delete'

Make it harder to delete a character by renaming 'quit' to 'delete'. New
players have been known to accidentally delete their character despite
the warning.

16 lines of code changed in 3 files:

partmedia 2019-12-26 20:33 Rev.: 21059

Correctly find default language for new players

The default language for new players should be set to -1, not 0, in
order for the server to correctly set the language to the default.

1 lines of code changed in 1 file:

partmedia 2019-12-25 07:51 Rev.: 21057

Bump version string to 1.74.0

4 lines of code changed in 2 files:

rjtanner 2019-12-23 19:49 Rev.: 21056

Added added white cloak and black cloak to Museum of Arms (navar_city/magara/houses/museum) map in Navar. Requires archetype update r20943 or newer.

69 lines of code changed in 1 file:

rjtanner 2019-12-23 19:16 Rev.: 21055

Fix typo in High Shield magic mouth message in Museum of Arms (navar_city/magara/houses/museum) map in Navar.

1 lines of code changed in 1 file:

rjtanner 2019-12-23 19:05 Rev.: 21054

Added kite shield to Museum of Arms (navar_city/magara/houses/museum) map in Navar. Requires archetype update r21039 or newer.

47 lines of code changed in 1 file:

partmedia 2019-12-16 16:29 Rev.: 21053

Stop logging normal conditions as errors

5 lines of code changed in 2 files:

silvernexus 2019-12-05 20:58 Rev.: 21052

Reduce calls to monster_compute_path

27 lines of code changed in 2 files:

silvernexus 2019-12-04 20:37 Rev.: 21051

Defererence pl->contr once in draw_client_map2, and assume it will not change in the middle.

26 lines of code changed in 1 file:

silvernexus 2019-12-04 20:04 Rev.: 21050

Silence warning from snprintf overflow potential.

1 lines of code changed in 1 file:

silvernexus 2019-12-04 19:27 Rev.: 21049

Reduce dereferences in draw_client_map2

9 lines of code changed in 2 files:

silvernexus 2019-12-03 19:49 Rev.: 21048

Make draw_client_map2 a static function, since it is used only in request.c.

3 lines of code changed in 3 files:

silvernexus 2019-12-03 19:03 Rev.: 21047

Reduce recursion in set_wall()

14 lines of code changed in 2 files:

silvernexus 2019-12-01 20:34 Rev.: 21046

Move a continue statement that would trigger on all loop passes to outer loop.

4 lines of code changed in 1 file:

silvernexus 2019-12-01 13:34 Rev.: 21045

Fix missed adjustment of clear_los parameter.

1 lines of code changed in 1 file:

silvernexus 2019-12-01 12:15 Rev.: 21044

Add amount over to message for ticks longer than server tick time.

2 lines of code changed in 2 files:

silvernexus 2019-12-01 12:11 Rev.: 21043

Trivial changes of object * to player * in los calculations.

31 lines of code changed in 5 files:

silvernexus 2019-12-01 10:13 Rev.: 21042

Fix incorrect exit coordinates on Alfalfa's House ground level.

6 lines of code changed in 2 files:

November 2019 »

Generated by StatSVN 0.7.0