def generateChat(self, balloon): v5 = self.getState() text_color = NametagGlobals.getChatFg(self.group.getColorCode(), v5) balloon_color = NametagGlobals.getChatBg(self.group.getColorCode(), v5) if self.group.chat_flags & CFQuicktalker: balloon_color = self.group.getQtColor() text = self.group.getChat() has_page_button = False has_quit_button = False if not self.group.has_timeout: has_page_button = self.group.chat_flags & CFPageButton if self.group.getPageNumber() >= self.group.getNumChatPages() - 1: if self.group.chat_flags & CFQuitButton: has_page_button = False has_quit_button = True page_button = None if has_page_button: page_button = NametagGlobals.getPageButton(v5) elif has_quit_button: page_button = NametagGlobals.getQuitButton(v5) reversed = self.group.chat_flags & CFReversed new_button = [None] balloon_result = balloon.generate(text, self.group.getChatFont(), self.wordwrap, text_color, balloon_color, self.is_3d, self.has_draw_order, self.draw_order, page_button, self.group.willHaveButton(), reversed, new_button) self.np_balloon = self.np_top.attachNewNode(balloon_result) if new_button[0]: self.startFlash(new_button[0]) self.name_frame = balloon.text_frame self.field_396 = 1
def generateChat(self, balloon): v5 = self.getState() text_color = NametagGlobals.getChatFg(self.group.getColorCode(), v5) balloon_color = NametagGlobals.getChatBg(self.group.getColorCode(), v5) if self.group.chat_flags & CFQuicktalker: balloon_color = self.group.getQtColor() balloon_color[3] = max(balloon_color[3], NametagGlobals._min_2d_alpha) balloon_color[3] = min(balloon_color[3], NametagGlobals._max_2d_alpha) text = self.group.getChat() if self.group.name: text = '%s: %s' % (self.group.name, text) has_page_button = False has_quit_button = False if not self.group.has_timeout: has_page_button = self.group.chat_flags & CFPageButton if self.group.getPageNumber() >= self.group.getNumChatPages() - 1: if self.group.chat_flags & CFQuitButton: has_page_button = False has_quit_button = True page_button = None if has_page_button: page_button = NametagGlobals.getPageButton(v5) elif has_quit_button: page_button = NametagGlobals.getQuitButton(v5) reversed = self.group.chat_flags & CFReversed new_button = [None] balloon_result = balloon.generate(text, self.group.getChatFont(), self.wordwrap, text_color, balloon_color, False, self.has_draw_order, self.draw_order, page_button, self.group.willHaveButton(), reversed, new_button) self.unknown_np = self.np.attachNewNode(balloon_result) v88 = 8.0 # XXX THIS IS A GUESS v49 = 2 * self.cell_width a6 = v49 / (v88 + 1.0) v50 = balloon.text_height * balloon.hscale v85 = balloon.hscale * 5.0 v88 = v50 * 0.5 v113 = -(balloon.hscale * 0.5 + v85) v51 = -(NametagGlobals._balloon_text_origin[2] + v88) v118 = Mat4(a6, 0, 0, 0, 0, a6, 0, 0, 0, 0, a6, 0, v113 * a6, 0, v51 * a6, 1.0) self.unknown_np.setMat(v118) reducer = SceneGraphReducer() reducer.applyAttribs(self.unknown_np.node()) v66 = self.np.getNetTransform().getMat() # XXX THE LINES BELOW ARE A GUESS v67 = v113 * a6 v68 = v51 * a6 v94 = v66.xformPoint(Point3(v67, 0.0, v68)) v97 = v66.xformPoint(Point3(-v67, 0.0, -v68)) frame = Vec4(v94[0], v97[0], v94[2], v97[2]) self.setRegion(frame, 0)