e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# Copyright (c) 2001, Stanford University
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# All rights reserved.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# See the file LICENSE.txt for information on redistributing this software.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# This script generates the pack_current.c file.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncimport sys
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncsys.path.append( "../glapi_parser" )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncimport apiutil
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncfrom pack_currenttypes import *
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncapiutil.CopyrightC()
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncprint """
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/* DO NOT EDIT - THIS FILE GENERATED BY THE pack_current.py SCRIPT */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include <memory.h>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include "packer.h"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include "state/cr_currentpointers.h"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include <stdio.h>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncvoid crPackOffsetCurrentPointers( int offset )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync{
2f44080df90cb90c1e524d97c8e327b40298f3c6vboxsync CR_GET_PACKER_CONTEXT(pc);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLnormal_p *normal = &(pc->current.c.normal);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLcolor_p *color = &(pc->current.c.color);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLsecondarycolor_p *secondaryColor = &(pc->current.c.secondaryColor);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLtexcoord_p *texCoord = &(pc->current.c.texCoord);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLindex_p *index = &(pc->current.c.index);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLedgeflag_p *edgeFlag = &(pc->current.c.edgeFlag);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLvertexattrib_p *vertexAttrib = &(pc->current.c.vertexAttrib);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLfogcoord_p *fogCoord = &(pc->current.c.fogCoord);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync int i;
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync"""
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncfor k in current_fns.keys():
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync name = '%s%s' % (k[:1].lower(),k[1:])
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync if current_fns[k].has_key( 'array' ):
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print '\tfor (i = 0 ; i < %s ; i++)' % current_fns[k]['array']
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print '\t{'
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync for type in current_fns[k]['types']:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync for size in current_fns[k]['sizes']:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync indent = ""
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync ptr = "%s->%s%d" % (name, type, size )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync if current_fns[k].has_key( 'array' ):
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync ptr += "[i]"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync indent = "\t"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print "%s\tif ( %s )" % (indent, ptr)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print "%s\t{" % indent
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print "%s\t\t%s += offset;" % (indent, ptr )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print "%s\t}" % indent
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync if current_fns[k].has_key( 'array' ):
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync print '\t}'
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncprint """
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync}
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncvoid crPackNullCurrentPointers( void )
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync{
2f44080df90cb90c1e524d97c8e327b40298f3c6vboxsync CR_GET_PACKER_CONTEXT(pc);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRCurrentStateAttr *c = &(pc->current.c);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync"""
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncprint '\tmemset ( c, 0, sizeof (CRCurrentStateAttr));'
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncprint "}"