diff options
| author | Ritabrata Das <[email protected]> | 2025-02-12 21:11:03 +0530 |
|---|---|---|
| committer | Ritabrata Das <[email protected]> | 2025-02-12 21:11:03 +0530 |
| commit | acca268ffafd26bf87fa6b14f228bdd54cf47233 (patch) | |
| tree | d2d3ffef70e6503fc42b69451aea3e8a0568e8dd /lib | |
| parent | 982ef15f1a5e882d451a3f8cd8dc8fba7ff1194a (diff) | |
Add Sunset
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py | 13 | ||||
| -rw-r--r-- | lib/PacketManager/packets/FSNETCMD_FOGCOLOR.py | 21 | ||||
| -rw-r--r-- | lib/PacketManager/packets/FSNETCMD_SKYCOLOR.py | 21 | ||||
| -rw-r--r-- | lib/PacketManager/packets/__init__.py | 7 |
4 files changed, 57 insertions, 5 deletions
diff --git a/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py b/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py index 4937fba..c647229 100644 --- a/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py +++ b/lib/PacketManager/packets/FSNETCMD_ENVIRONMENT.py @@ -3,7 +3,7 @@ from struct import pack, unpack class FSNETCMD_ENVIRONMENT: #33 def __init__(self, buffer:bytes, should_decode:bool=True): self.buffer = buffer - self.day_night = None # 0 is day, 1 is night + self.day_night = -1 # 0 is day, 1 is night self.flags = { "fog":False, "blackout":False, @@ -29,7 +29,7 @@ class FSNETCMD_ENVIRONMENT: #33 self.flags["midair"] = bool(flags & 16) if flags&128 == 1: #Server controls can_land_anywhere: self.flags["can_land_anywhere"] = bool(flags & 64) - + @staticmethod def encode(day_night, fog, blackout, midair, can_land_anywhere, wind, visibility, with_size:bool=False): flags = 0 @@ -49,3 +49,12 @@ class FSNETCMD_ENVIRONMENT: #33 return pack("I", len(buffer))+buffer return buffer + @staticmethod + def setTime(buffer:bytes, night:bool, with_size:bool = True): + if with_size: + values = list(unpack("IHHIffff", buffer[4:])) + else: + values = list(unpack("IHHIffff", buffer)) + if night: values[2] = 1 + elif not night: values[2] = 0 + return pack("IHHIffff", *values) diff --git a/lib/PacketManager/packets/FSNETCMD_FOGCOLOR.py b/lib/PacketManager/packets/FSNETCMD_FOGCOLOR.py new file mode 100644 index 0000000..fd195d4 --- /dev/null +++ b/lib/PacketManager/packets/FSNETCMD_FOGCOLOR.py @@ -0,0 +1,21 @@ +from struct import pack, unpack + +class FSNETCMD_FOGCOLOR: + def __init__(self, buffer:bytes, should_decode:bool=True): + self.buffer = buffer + self.redValye = 0 + self.greenValue = 0 + self.blueValue = 0 + if should_decode: + self.decode() + + def decode(self): + self.redValue = self.buffer[4] + self.greenValue = self.buffer[5] + self.blueValue = self.buffer[6] + + @staticmethod + def encode(redValue:int, greenValue:int, blueValue:int, with_size:bool=False): + buffer = pack("IBBB", 48, redValue, greenValue, blueValue) + if with_size: buffer = (pack("I", len(buffer))) + buffer + return buffer diff --git a/lib/PacketManager/packets/FSNETCMD_SKYCOLOR.py b/lib/PacketManager/packets/FSNETCMD_SKYCOLOR.py new file mode 100644 index 0000000..2149bc5 --- /dev/null +++ b/lib/PacketManager/packets/FSNETCMD_SKYCOLOR.py @@ -0,0 +1,21 @@ +from struct import pack, unpack + +class FSNETCMD_SKYCOLOR: + def __init__(self, buffer:bytes, should_decode:bool=True): + self.buffer = buffer + self.redValye = 0 + self.greenValue = 0 + self.blueValue = 0 + if should_decode: + self.decode() + + def decode(self): + self.redValue = self.buffer[4] + self.greenValue = self.buffer[5] + self.blueValue = self.buffer[6] + + @staticmethod + def encode(redValue:int, greenValue:int, blueValue:int, with_size:bool=False): + buffer = pack("IBBB", 49, redValue, greenValue, blueValue) + if with_size: buffer = (pack("I", len(buffer))) + buffer + return buffer diff --git a/lib/PacketManager/packets/__init__.py b/lib/PacketManager/packets/__init__.py index 43abcf0..250be0d 100644 --- a/lib/PacketManager/packets/__init__.py +++ b/lib/PacketManager/packets/__init__.py @@ -45,8 +45,8 @@ from .FSNETCMD_WEAPONCONFIG import FSNETCMD_WEAPONCONFIG #from .FSNETCMD_GNDCMD import FSNETCMD_GNDCMD #from .FSNETCMD_REPORTSCORE import FSNETCMD_REPORTSCORE #from .FSNETCMD_SERVER_FORCE_JOIN import FSNETCMD_SERVER_FORCE_JOIN -#from .FSNETCMD_FOGCOLOR import FSNETCMD_FOGCOLOR -#from .FSNETCMD_SKYCOLOR import FSNETCMD_SKYCOLOR +from .FSNETCMD_FOGCOLOR import FSNETCMD_FOGCOLOR +from .FSNETCMD_SKYCOLOR import FSNETCMD_SKYCOLOR #from .FSNETCMD_GNDCOLOR import FSNETCMD_GNDCOLOR #from .FSNETCMD_RESERVED_FOR_LIGHTCOLOR import FSNETCMD_RESERVED_FOR_LIGHTCOLOR #from .FSNETCMD_GENERATEATTACKER import FSNETCMD_GENERATEATTACKER @@ -63,4 +63,5 @@ __all__ = ["FSNETCMD_LOGON", "FSNETCMD_LOGOFF", "FSNETCMD_ERROR", "FSNETCMD_LOCKON", "FSNETCMD_REMOVEGROUND", "FSNETCMD_MISSILELAUNCH", "FSNETCMD_GETDAMAGE", "FSNETCMD_WEAPONCONFIG", "FSNETCMD_AIRCMD", - "FSNETCMD_TEXTMESSAGE", "FSNETCMD_ENVIRONMENT"] + "FSNETCMD_TEXTMESSAGE", "FSNETCMD_ENVIRONMENT", + "FSNETCMD_SKYCOLOR", "FSNETCMD_FOGCOLOR"] |
