Skip to content

Commit 1ae3f1d

Browse files
committed
Merge branch 'master' into add_default_callingconvention
2 parents c47ca12 + 6d594fb commit 1ae3f1d

File tree

5 files changed

+26
-2
lines changed

5 files changed

+26
-2
lines changed

addons/source-python/data/source-python/entities/CFogController.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set_angles = SetAngles
44
set_color = SetColor
5-
set_color_lerp_to = SetColorLerpTO
5+
set_color_lerp_to = SetColorLerpTo
66
set_color_secondary = SetColorSecondary
77
set_color_secondary_lerp_to = SetColorSecondaryLerpTo
88
set_end_dist = SetEndDist

addons/source-python/packages/source-python/core/cache.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,4 @@ def wrapper(self, *args, **kwargs):
7474
return MethodType(wrapper, self)
7575

7676
# Return a cached property bound to the getter function
77-
return CachedProperty(getter, doc=fget.__doc__)
77+
return CachedProperty(getter, doc=fget.__doc__, unbound=True)

addons/source-python/packages/source-python/core/command/docs.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
from core.command import core_command_logger
2020
from core.version import VERSION
2121
from core.version import is_unversioned
22+
# Hooks
23+
from hooks.exceptions import except_hooks
2224
# Paths
2325
from paths import SP_DATA_PATH
2426
from paths import SP_DOCS_PATH
@@ -87,6 +89,7 @@ def _create_source_python_docs():
8789
project.create(
8890
'Source.Python Development Team', 'Source.Python', VERSION)
8991
except:
92+
except_hooks.print_exception()
9093
logger.log_message(
9194
'An error occured while creating Sphinx ' +
9295
'project for Source.Python.')
@@ -108,6 +111,7 @@ def _create_custom_package_docs(package):
108111
try:
109112
project.create('Unknown')
110113
except:
114+
except_hooks.print_exception()
111115
logger.log_message(
112116
'An error occured while creating Sphinx project for ' +
113117
'custom package "{0}".'.format(package))
@@ -129,6 +133,7 @@ def _create_plugin_docs(package):
129133
try:
130134
project.create('Unknown')
131135
except:
136+
except_hooks.print_exception()
132137
logger.log_message(
133138
'An error occured while creating Sphinx project ' +
134139
'for plugin "{0}".'.format(package))
@@ -163,6 +168,7 @@ def _generate_source_python_docs():
163168
try:
164169
project.generate_project_files('developing/modules')
165170
except:
171+
except_hooks.print_exception()
166172
logger.log_message(
167173
'An error occured while generating ' +
168174
'project files for Source.Python')
@@ -244,6 +250,7 @@ def _generate_custom_package_docs(package):
244250
try:
245251
project.generate_project_files()
246252
except:
253+
except_hooks.print_exception()
247254
logger.log_message(
248255
'An error occured while generating project ' +
249256
'files for custom package "{0}".'.format(package))
@@ -265,6 +272,7 @@ def _generate_plugin_docs(package):
265272
try:
266273
project.generate_project_files()
267274
except:
275+
except_hooks.print_exception()
268276
logger.log_message(
269277
'An error occured while generating project ' +
270278
'files for plugin "{0}".'.format(package))
@@ -324,6 +332,7 @@ def _build_source_python_docs():
324332
try:
325333
project.build()
326334
except:
335+
except_hooks.print_exception()
327336
logger.log_message(
328337
'An error occured while building ' +
329338
'project files for Source.Python.')
@@ -384,6 +393,7 @@ def _build_custom_package_docs(package):
384393
try:
385394
project.build()
386395
except:
396+
except_hooks.print_exception()
387397
logger.log_message(
388398
'An error occured while building project ' +
389399
'files for custom package "{0}".'.format(package))
@@ -410,6 +420,7 @@ def _build_plugin_docs(package):
410420
try:
411421
project.build()
412422
except:
423+
except_hooks.print_exception()
413424
logger.log_message(
414425
'An error occured while building project ' +
415426
'files for plugin "{0}".'.format(package))

src/core/modules/entities/entities_entity.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,19 @@ Color CBaseEntityWrapper::GetKeyValueColor(const char* szName)
399399
if (!sputils::UTIL_StringToIntArray(iResult, 4, szResult))
400400
BOOST_RAISE_EXCEPTION(PyExc_ValueError, "KeyValue does not seem to be a color: '%s'.", szResult);
401401

402+
// Fix for issue #346
403+
// https://github.com/Source-Python-Dev-Team/Source.Python/issues/346
404+
// If we got values bigger than 255, it's not a hard-coded keyvalue, but one that is read
405+
// from the datamap. Those are incorrectly parsed by the SDK (int* should be unsiged char*):
406+
// https://github.com/alliedmodders/hl2sdk/blob/0ef5d3d482157bc0bb3aafd37c08961373f87bfd/game/server/saverestore_gamedll.cpp#L205-L211
407+
if (iResult[0] > 255 || iResult[1] > 255 || iResult[2] > 255 || iResult[3] > 255) {
408+
return Color(
409+
iResult[0] & 0xff,
410+
(iResult[0] & 0xff00) >> 8,
411+
(iResult[0] & 0xff0000) >> 16,
412+
(iResult[0] & 0xff000000) >> 24);
413+
}
414+
402415
return Color(iResult[0], iResult[1], iResult[2], iResult[3]);
403416
}
404417

Binary file not shown.

0 commit comments

Comments
 (0)