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