ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/socket/sounds.C
(Generate patch)

Comparing deliantra/server/socket/sounds.C (file contents):
Revision 1.33 by root, Fri Nov 9 16:27:55 2012 UTC vs.
Revision 1.38 by root, Sat Dec 1 20:22:13 2018 UTC

1/* 1/*
2 * This file is part of Deliantra, the Roguelike Realtime MMORPG. 2 * This file is part of Deliantra, the Roguelike Realtime MMORPG.
3 * 3 *
4 * Copyright (©) 2017,2018 Marc Alexander Lehmann / the Deliantra team
4 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 5 * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
5 * 6 *
6 * Deliantra is free software: you can redistribute it and/or modify it under 7 * Deliantra is free software: you can redistribute it and/or modify it under
7 * the terms of the Affero GNU General Public License as published by the 8 * the terms of the Affero GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your 9 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version. 10 * option) any later version.
31 32
32#include <global.h> 33#include <global.h>
33#include <sproto.h> 34#include <sproto.h>
34#include <sounds.h> 35#include <sounds.h>
35 36
36#include <tr1/unordered_map> 37#include <flat_hash_map.hpp>
37 38
38// the hashtable 39// the hashtable
39typedef std::tr1::unordered_map 40typedef ska::flat_hash_map
40 < 41 <
41 const char *, 42 const char *,
42 faceidx, 43 faceidx,
43 str_hash, 44 str_hash,
44 str_equal, 45 str_equal,
48static HT ht; 49static HT ht;
49 50
50faceidx 51faceidx
51sound_find (const char *str) 52sound_find (const char *str)
52{ 53{
53 auto (i, ht.find (str)); 54 auto i = ht.find (str);
54 55
55 if (i != ht.end ()) 56 if (i != ht.end ())
56 return i->second; 57 return i->second;
57 58
58 if (strncmp (str, "sound/", sizeof ("sound/") - 1)) 59 if (strncmp (str, "sound/", sizeof ("sound/") - 1))
62} 63}
63 64
64void 65void
65sound_set (const char *str, faceidx face) 66sound_set (const char *str, faceidx face)
66{ 67{
67 auto (i, ht.find (str)); 68 auto i = ht.find (str);
68 69
69 if (i != ht.end ()) 70 if (i != ht.end ())
70 i->second = face; 71 i->second = face;
71 else 72 else
72 ht.insert (std::make_pair (strdup (str), face)); 73 ht.insert (std::make_pair (strdup (str), face));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines