Line data Source code
1 0 : /* 2 : 3 : EntityShaderBindings.m 4 : 5 : Extra methods exposed for shader bindings. 6 : 7 : 8 : Oolite 9 : Copyright (C) 2004-2013 Giles C Williams and contributors 10 : 11 : This program is free software; you can redistribute it and/or 12 : modify it under the terms of the GNU General Public License 13 : as published by the Free Software Foundation; either version 2 14 : of the License, or (at your option) any later version. 15 : 16 : This program is distributed in the hope that it will be useful, 17 : but WITHOUT ANY WARRANTY; without even the implied warranty of 18 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 : GNU General Public License for more details. 20 : 21 : You should have received a copy of the GNU General Public License 22 : along with this program; if not, write to the Free Software 23 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 24 : MA 02110-1301, USA. 25 : 26 : */ 27 : 28 : #import "Entity.h" 29 : #import "PlayerEntityScriptMethods.h" 30 : #import "PlayerEntityLegacyScriptEngine.h" 31 : 32 : 33 : @implementation Entity (ShaderBindings) 34 : 35 : // Clock time. 36 0 : - (GLfloat) clock 37 : { 38 : return [PLAYER clockTime]; 39 : } 40 : 41 : 42 : // System "flavour" numbers. 43 0 : - (unsigned) pseudoFixedD100 44 : { 45 : return [PLAYER systemPseudoRandom100]; 46 : } 47 : 48 0 : - (unsigned) pseudoFixedD256 49 : { 50 : return [PLAYER systemPseudoRandom256]; 51 : } 52 : 53 : 54 : // System attributes. 55 0 : - (unsigned) systemGovernment 56 : { 57 : return [[PLAYER systemGovernment_number] unsignedIntValue]; 58 : } 59 : 60 0 : - (unsigned) systemEconomy 61 : { 62 : return [[PLAYER systemEconomy_number] unsignedIntValue]; 63 : } 64 : 65 0 : - (unsigned) systemTechLevel 66 : { 67 : return [[PLAYER systemTechLevel_number] unsignedIntValue]; 68 : } 69 : 70 0 : - (unsigned) systemPopulation 71 : { 72 : return [[PLAYER systemPopulation_number] unsignedIntValue]; 73 : } 74 : 75 0 : - (unsigned) systemProductivity 76 : { 77 : return [[PLAYER systemProductivity_number] unsignedIntValue]; 78 : } 79 : 80 : @end