note description: "[ texture_t from r_data.c A maptexturedef_t describes a rectangular texture, which is composed of one or more mappatch_t structures that arrange graphic patches. ]" license: "[ Copyright (C) 1993-1996 by id Software, Inc. Copyright (C) 2005-2014 Simon Howard Copyright (C) 2021 Ilgiz Mustafin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ]" class TEXTURE_T create make, make_from_maptexture_t feature make do name := "" create patches.make_empty end make_from_maptexture_t (m: MAPTEXTURE_T; patchlookup: ARRAY [INTEGER_32]) local i: INTEGER_32 do width := m.width height := m.height name := m.name create patches.make_filled (create {TEXPATCH_T}, 0, m.patches.count - 1) from i := 0 until i >= patches.count loop patches [i] := create {TEXPATCH_T} patches [i].originx := m.patches [i].originx.to_integer_32 patches [i].originy := m.patches [i].originy.to_integer_32 patches [i].patch := patchlookup [m.patches [i].patch.to_integer_32] i := i + 1 end end feature name: STRING_8 assign set_name -- Keep name for switch changing, etc. set_name (a_name: like name) do name := a_name end width: INTEGER_16 assign set_width set_width (a_width: like width) do width := a_width end height: INTEGER_16 assign set_height set_height (a_height: like height) do height := a_height end patches: ARRAY [TEXPATCH_T] invariant name.count <= 8 end -- class TEXTURE_T
Generated by ISE EiffelStudio