00001 /* Copyright 2008 Fred Cooke 00002 00003 This file is part of the FreeEMS project. 00004 00005 FreeEMS software is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 FreeEMS software is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with any FreeEMS software. If not, see http://www.gnu.org/licenses/ 00017 00018 We ask that if you make any changes to this file you email them upstream to 00019 us at admin(at)diyefi(dot)org or, even better, fork the code on github.com! 00020 00021 Thank you for choosing FreeEMS to run your engine! */ 00022 00023 00024 /* tableLookup.h 00025 * @ingroup allHeaders 00026 */ 00027 00028 00029 /* Header file multiple inclusion protection courtesy eclipse Header Template */ 00030 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */ 00031 #ifndef FILE_TABLELOOKUP_H_SEEN 00032 #define FILE_TABLELOOKUP_H_SEEN 00033 00034 00035 #ifdef EXTERN 00036 #warning "EXTERN already defined by another header, please sort it out!" 00037 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */ 00038 #endif 00039 00040 00041 #ifdef TABLELOOKUP_C 00042 #define EXTERN 00043 #else 00044 #define EXTERN extern 00045 #endif 00046 00047 00048 EXTERN unsigned short lookupTwoDTableUS(twoDTableUS *, unsigned short) TEXT; 00049 EXTERN unsigned short lookupPagedMainTableCellValue(mainTable *, unsigned short, unsigned short, unsigned char) TEXT; 00050 00051 EXTERN unsigned short setPagedMainTableCellValue(unsigned char, mainTable*, unsigned short, unsigned short, unsigned short) TEXT; 00052 EXTERN unsigned short setPagedMainTableRPMValue(unsigned char, mainTable*, unsigned short, unsigned short) TEXT; 00053 EXTERN unsigned short setPagedMainTableLoadValue(unsigned char, mainTable*, unsigned short, unsigned short) TEXT; 00054 00055 EXTERN unsigned short setPagedTwoDTableCellValue(unsigned char, twoDTableUS*, unsigned short, unsigned short) TEXT; 00056 EXTERN unsigned short setPagedTwoDTableAxisValue(unsigned char, twoDTableUS*, unsigned short, unsigned short) TEXT; 00057 00058 00059 EXTERN unsigned short validateMainTable(mainTable*) TEXT; 00060 EXTERN unsigned short validateTwoDTable(twoDTableUS*) TEXT; 00061 00062 00063 /* These might change or might stay the same, so keeping for now */ 00064 //EXTERN unsigned short lookup16Bit3dUS(unsigned short*, unsigned short, unsigned short, unsigned short*, unsigned short*, unsigned char, unsigned char); bad wrong. 00065 //EXTERN unsigned char lookup8Bit2dUC(void); 00066 //EXTERN unsigned char lookup8Bit3dUC(void); 00067 //EXTERN signed short lookup16Bit3D(void); 00068 //EXTERN signed char lookup8Bit3D(void); 00069 //EXTERN signed short lookup16Bit2D(void); 00070 //EXTERN signed char lookup8Bit2D(void); 00071 00072 00073 #undef EXTERN 00074 00075 00076 #else 00077 /* let us know if we are being untidy with headers */ 00078 #warning "Header file TABLELOOKUP_H seen before, sort it out!" 00079 /* end of the wrapper ifdef from the very top */ 00080 #endif