| 3044 | |
| 3045 | # Set the struct value (begin phase) |
| 3046 | def set_begin(self): |
| 3047 | assert (self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size, "Model is broken!" |
| 3048 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 3049 | return 0 |
| 3050 | |
| 3051 | fbe_struct_size = self.fbe_body |
| 3052 | fbe_struct_offset = self._buffer.allocate(fbe_struct_size) - self._buffer.offset |
| 3053 | assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) <= self._buffer.size), "Model is broken!" |
| 3054 | if (fbe_struct_offset <= 0) or ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) > self._buffer.size): |
| 3055 | return 0 |
| 3056 | |
| 3057 | self.write_uint32(self.fbe_offset, fbe_struct_offset) |
| 3058 | self.write_uint32(fbe_struct_offset, fbe_struct_size) |
| 3059 | self.write_uint32(fbe_struct_offset + 4, self.fbe_type) |
| 3060 | |
| 3061 | self._buffer.shift(fbe_struct_offset) |
| 3062 | return fbe_struct_offset |
| 3063 | |
| 3064 | # Set the struct value (end phase) |
| 3065 | def set_end(self, fbe_begin): |