Mercurial > LightClone
view LightClone/Source/Program.cpp @ 72:9a9be3d8632e
Remove reference to World.h
author | koryspansel |
---|---|
date | Tue, 11 Oct 2011 13:49:40 -0700 |
parents | 95677f648a2c |
children |
line wrap: on
line source
/* * Program */ #include "Program.h" #include "Compiler.h" /* * Program */ Program::Program() { } /* * Initialize */ ErrorCode Program::Initialize() { return Clear(), Error_Success; } /* * Terminate */ void Program::Terminate() { } /* * SetAction */ void Program::SetAction(uint32 nFunction, uint32 nIndex, uint32 nAction) { if(nFunction < MaximumFunctionCount && nIndex < MaximumInstructionCount) { kFunction[nFunction].nInstruction[nIndex] = nAction; } } /* * GetAction */ uint32 Program::GetAction(uint32 nFunction, uint32 nIndex) const { return (nFunction < MaximumFunctionCount && nIndex < MaximumInstructionCount) ? kFunction[nFunction].nInstruction[nIndex] : 0; } /* * Clear */ void Program::Clear() { for(uint32 i = 0; i < MaximumFunctionCount; ++i) { for(uint32 j = 0; j < MaximumInstructionCount; ++j) { kFunction[i].nInstruction[j] = Action_None; } } } /* * Upload */ ErrorCode Program::Upload(VirtualMachine& kMachine) const { kMachine.Reset(); kMachine.Clear(); Compiler kCompiler; return kCompiler.Compile(*this, kMachine.GetMemoryPointer(), kMachine.GetMemorySize()); }