X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_vrs.h;h=07e75321f767d7a95795474ee4f1ae6341a2b58d;hb=c99bda70e2b46d085d3ba7aa951117bcd737c208;hp=8fb4ad12e188bf935aef11fa239a50f72c8c111f;hpb=4c7ecb54bd2cb284aa34e72b80bf7c0de120026a;p=16.git diff --git a/src/lib/16_vrs.h b/src/lib/16_vrs.h index 8fb4ad12..07e75321 100755 --- a/src/lib/16_vrs.h +++ b/src/lib/16_vrs.h @@ -1,73 +1,80 @@ -/* Project 16 Source Code~ - * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover - * - * This file is part of Project 16. - * - * Project 16 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 3 of the License, or - * (at your option) any later version. - * - * Project 16 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, see , or - * write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301 USA. - * - */ -#ifndef __16_VRS__ -#define __16_VRS__ - -#include "src/lib/16_head.h" -#include "src/lib/modex16.h" -#include "src/lib/16_ca.h" -#include "src/lib/16_mm.h" -//#include -//#include -//#include - -// Container for .vrs files loaded in memory with useful info -// Includes: -// + size of the .vrs blob in memory -// + pointer to the blob/vrs header - -struct vrs_container{ - dword size; - union{ - byte huge *buffer; - struct vrs_header huge *vrs_hdr; - }; -}; - -struct vrl_container{ - dword size; - union{ - byte huge *buffer; - struct vrl1_vgax_header huge *vrl_header; - }; -}; - -// Read .vrs file into memory -// In: -// + char *filename - name of the file to load -// + struct vrs_container *vrs_cont - pointer to the vrs_container -// to load the file into -// Out: -// + int - 0 on succes, 1 on failure -int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container *vrs_cont); - -// Seek and return a specified .vrl blob from .vrs blob in memory -// In: -// + struct vrs_container *vrs_cont - pointer to the vrs_container -// with a loaded .vrs file -// + uint16_t id - id of the vrl to retrive -// Out: -// struct vrl_container* - a pointer to a vrl_container with a pointer -// to the requested .vrl blob -struct vrl_container* get_vrl_by_id(struct vrs_container *vrs_cont, uint16_t id); - -#endif +/* Project 16 Source Code~ + * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * + * This file is part of Project 16. + * + * Project 16 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 3 of the License, or + * (at your option) any later version. + * + * Project 16 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, see , or + * write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#ifndef __16_VRS__ +#define __16_VRS__ + +#include "src/lib/16_head.h" +#include "src/lib/16_vl.h" +//#include +//#include +#include +#include "src/lib/16_ca.h" +/* +struct vrs_container{ + // Size of a .vrs lob in memory + // minus header + dword data_size; + union{ + byte far *buffer; + struct vrs_header far *vrs_hdr; + }; + // Array of corresponding vrl line offsets + vrl1_vgax_offset_t **vrl_line_offsets; +}; +*//* +struct vrl_container{ + // Size of a .vrl blob in memory + // minus header + dword data_size; + union{ + byte far *buffer; + struct vrl1_vgax_header far *vrl_header; + }; + // Pointer to a corresponding vrl line offsets struct + vrl1_vgax_offset_t *line_offsets; +}; +*/ +/* Read .vrs file into memory +* In: +* + char *filename - name of the file to load +* + struct vrs_container *vrs_cont - pointer to the vrs_container +* to load the file into +* Out: +* + int - 0 on succes, 1 on failure +*/ +void VRS_ReadVRS(char *filename, entity_t *enti, global_game_variables_t *gvar); +void VRS_LoadVRS(char *filename, entity_t *enti, global_game_variables_t *gvar); +void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_variables_t *gvar); + +/* Seek and return a specified .vrl blob from .vrs blob in memory +* In: +* + struct vrs_container *vrs_cont - pointer to the vrs_container +* with a loaded .vrs file +* + uint16_t id - id of the vrl to retrive +* + struct vrl_container * vrl_cont - pointer to vrl_container to load to +* Out: +* int - operation status +* to the requested .vrl blob +*/ +int get_vrl_by_id(struct vrs_container *vrs_cont, uint16_t id, struct vrl_container * vrl_cont); + +#endif