You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
4.4 KiB
92 lines
4.4 KiB
# • ▌ ▄ ·. ▄▄▄▄· ▄▄▄ .·▄▄▄▄ ▪ ▄▄▄▄▄ ▄▄▄ ▄▄▄·▄▄▄ |
|
# ·██ ▐███▪▐█ ▀█▪ ▀▄.▀·██▪ ██ ██ •██ ▪ ▀▄ █· ▐█ ▄█▀▄ █·▪ |
|
# ▐█ ▌▐▌▐█·▐█▀▀█▄ ▐▀▀▪▄▐█· ▐█▌▐█· ▐█.▪ ▄█▀▄ ▐▀▀▄ ██▀·▐▀▀▄ ▄█▀▄ |
|
# ██ ██▌▐█▌██▄▪▐█ ▐█▄▄▌██. ██ ▐█▌ ▐█▌·▐█▌.▐▌▐█•█▌ ▐█▪·•▐█•█▌▐█▌.▐▌ |
|
# ▀▀ █▪▀▀▀·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ▀▀▀ ▀▀▀ ▀█▄▀▪.▀ ▀ .▀ .▀ ▀ ▀█▄▀▪ |
|
# Magicbane Emulator Project © 2013 - 2022 |
|
# www.magicbane.com |
|
|
|
from collections import OrderedDict |
|
|
|
from arcane.util import ResStream |
|
|
|
|
|
class WaterInfo: |
|
|
|
def load_binary(self, stream: ResStream): |
|
self.water_texture = stream.read_qword() |
|
self.water_unknown1 = [ |
|
stream.read_float(), |
|
stream.read_float(), |
|
stream.read_float(), |
|
stream.read_float(), |
|
] |
|
self.water_x_wave_length = stream.read_float() |
|
self.water_z_wave_length = stream.read_float() |
|
self.water_x_speed = stream.read_float() |
|
self.water_z_speed = stream.read_float() |
|
self.water_unknown2 = stream.read_float() |
|
self.water_amplitude = stream.read_float() |
|
self.water_vertex_density = stream.read_float() |
|
self.water_texture_density = stream.read_float() |
|
self.water_color = [ |
|
stream.read_float(), |
|
stream.read_float(), |
|
stream.read_float(), |
|
stream.read_float(), |
|
] |
|
self.water_reflectivity = stream.read_float() |
|
self.water_eye_factor = stream.read_float() |
|
|
|
def save_binary(self, stream: ResStream): |
|
stream.write_qword(self.water_texture) |
|
stream.write_float(self.water_unknown1[0]) |
|
stream.write_float(self.water_unknown1[1]) |
|
stream.write_float(self.water_unknown1[2]) |
|
stream.write_float(self.water_unknown1[3]) |
|
stream.write_float(self.water_x_wave_length) |
|
stream.write_float(self.water_z_wave_length) |
|
stream.write_float(self.water_x_speed) |
|
stream.write_float(self.water_z_speed) |
|
stream.write_float(self.water_unknown2) |
|
stream.write_float(self.water_amplitude) |
|
stream.write_float(self.water_vertex_density) |
|
stream.write_float(self.water_texture_density) |
|
stream.write_float(self.water_color[0]) |
|
stream.write_float(self.water_color[1]) |
|
stream.write_float(self.water_color[2]) |
|
stream.write_float(self.water_color[3]) |
|
stream.write_float(self.water_reflectivity) |
|
stream.write_float(self.water_eye_factor) |
|
|
|
def save_json(self): |
|
data = OrderedDict() |
|
data['water_texture'] = self.water_texture |
|
data['water_unknown1'] = self.water_unknown1 |
|
data['water_x_wave_length'] = self.water_x_wave_length |
|
data['water_z_wave_length'] = self.water_z_wave_length |
|
data['water_x_speed'] = self.water_x_speed |
|
data['water_z_speed'] = self.water_z_speed |
|
data['water_unknown2'] = self.water_unknown2 |
|
data['water_amplitude'] = self.water_amplitude |
|
data['water_vertex_density'] = self.water_vertex_density |
|
data['water_texture_density'] = self.water_texture_density |
|
data['water_color'] = self.water_color |
|
data['water_reflectivity'] = self.water_reflectivity |
|
data['water_eye_factor'] = self.water_eye_factor |
|
return data |
|
|
|
def load_json(self, data): |
|
self.water_texture = data['water_texture'] |
|
self.water_unknown1 = data['water_unknown1'] |
|
self.water_x_wave_length = data['water_x_wave_length'] |
|
self.water_z_wave_length = data['water_z_wave_length'] |
|
self.water_x_speed = data['water_x_speed'] |
|
self.water_z_speed = data['water_z_speed'] |
|
self.water_unknown2 = data['water_unknown2'] |
|
self.water_amplitude = data['water_amplitude'] |
|
self.water_vertex_density = data['water_vertex_density'] |
|
self.water_texture_density = data['water_texture_density'] |
|
self.water_color = data['water_color'] |
|
self.water_reflectivity = data['water_reflectivity'] |
|
self.water_eye_factor = data['water_eye_factor']
|
|
|