RingRacers/src/acs/environment.hpp
2024-05-11 22:08:31 -03:00

47 lines
1.3 KiB
C++

// DR. ROBOTNIK'S RING RACERS
//-----------------------------------------------------------------------------
// Copyright (C) 2016 by James Haley, David Hill, et al. (Team Eternity)
// Copyright (C) 2024 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2024 by Kart Krew
//
// This program is free software distributed under the
// terms of the GNU General Public License, version 2.
// See the 'LICENSE' file for more details.
//-----------------------------------------------------------------------------
/// \file environment.hpp
/// \brief Action Code Script: Environment definition
#ifndef __SRB2_ACS_ENVIRONMENT_HPP__
#define __SRB2_ACS_ENVIRONMENT_HPP__
#include "acsvm.hpp"
namespace srb2::acs {
class Environment : public ACSVM::Environment
{
public:
Environment();
virtual bool checkTag(ACSVM::Word type, ACSVM::Word tag);
virtual ACSVM::Word callSpecImpl(
ACSVM::Thread *thread, ACSVM::Word spec,
const ACSVM::Word *argV, ACSVM::Word argC
);
virtual ACSVM::Thread *allocThread();
virtual void printKill(ACSVM::Thread *thread, ACSVM::Word type, ACSVM::Word data);
protected:
virtual void loadModule(ACSVM::Module *module);
virtual ACSVM::ModuleName getModuleName(char const *str, std::size_t len);
};
}
extern srb2::acs::Environment ACSEnv;
#endif // __SRB2_ACS_ENVIRONMENT_HPP__