#include <stdio.h>
#include "picomodel.h"
+
typedef unsigned char byte;
+
#include <stdlib.h>
#include <algorithm>
#include <list>
#include "model.h"
-void PicoPrintFunc( int level, const char *str ){
- if ( str == 0 ) {
- return;
- }
- switch ( level )
- {
- case PICO_NORMAL:
- globalOutputStream() << str << "\n";
- break;
-
- case PICO_VERBOSE:
- //globalOutputStream() << "PICO_VERBOSE: " << str << "\n";
- break;
-
- case PICO_WARNING:
- globalErrorStream() << "PICO_WARNING: " << str << "\n";
- break;
-
- case PICO_ERROR:
- globalErrorStream() << "PICO_ERROR: " << str << "\n";
- break;
-
- case PICO_FATAL:
- globalErrorStream() << "PICO_FATAL: " << str << "\n";
- break;
- }
+void PicoPrintFunc(int level, const char *str)
+{
+ if (str == 0) {
+ return;
+ }
+ switch (level) {
+ case PICO_NORMAL:
+ globalOutputStream() << str << "\n";
+ break;
+
+ case PICO_VERBOSE:
+ //globalOutputStream() << "PICO_VERBOSE: " << str << "\n";
+ break;
+
+ case PICO_WARNING:
+ globalErrorStream() << "PICO_WARNING: " << str << "\n";
+ break;
+
+ case PICO_ERROR:
+ globalErrorStream() << "PICO_ERROR: " << str << "\n";
+ break;
+
+ case PICO_FATAL:
+ globalErrorStream() << "PICO_FATAL: " << str << "\n";
+ break;
+ }
}
-void PicoLoadFileFunc( const char *name, byte **buffer, int *bufSize ){
- *bufSize = vfsLoadFile( name, (void**) buffer );
+void PicoLoadFileFunc(const char *name, byte **buffer, int *bufSize)
+{
+ *bufSize = vfsLoadFile(name, (void **) buffer);
}
-void PicoFreeFileFunc( void* file ){
- vfsFreeFile( file );
+void PicoFreeFileFunc(void *file)
+{
+ vfsFreeFile(file);
}
-void pico_initialise(){
- PicoInit();
- PicoSetMallocFunc( malloc );
- PicoSetFreeFunc( free );
- PicoSetPrintFunc( PicoPrintFunc );
- PicoSetLoadFileFunc( PicoLoadFileFunc );
- PicoSetFreeFileFunc( PicoFreeFileFunc );
+void pico_initialise()
+{
+ PicoInit();
+ PicoSetMallocFunc(malloc);
+ PicoSetFreeFunc(free);
+ PicoSetPrintFunc(PicoPrintFunc);
+ PicoSetLoadFileFunc(PicoLoadFileFunc);
+ PicoSetFreeFileFunc(PicoFreeFileFunc);
}
-class PicoModelLoader : public ModelLoader
-{
-const picoModule_t* m_module;
+class PicoModelLoader : public ModelLoader {
+ const picoModule_t *m_module;
public:
-PicoModelLoader( const picoModule_t* module ) : m_module( module ){
-}
-scene::Node& loadModel( ArchiveFile& file ){
- return loadPicoModel( m_module, file );
-}
+ PicoModelLoader(const picoModule_t *module) : m_module(module)
+ {
+ }
+
+ scene::Node &loadModel(ArchiveFile &file)
+ {
+ return loadPicoModel(m_module, file);
+ }
};
class ModelPicoDependencies :
- public GlobalFileSystemModuleRef,
- public GlobalOpenGLModuleRef,
- public GlobalUndoModuleRef,
- public GlobalSceneGraphModuleRef,
- public GlobalShaderCacheModuleRef,
- public GlobalSelectionModuleRef,
- public GlobalFiletypesModuleRef
-{
+ public GlobalFileSystemModuleRef,
+ public GlobalOpenGLModuleRef,
+ public GlobalUndoModuleRef,
+ public GlobalSceneGraphModuleRef,
+ public GlobalShaderCacheModuleRef,
+ public GlobalSelectionModuleRef,
+ public GlobalFiletypesModuleRef {
};
-class ModelPicoAPI : public TypeSystemRef
-{
-PicoModelLoader m_modelLoader;
+class ModelPicoAPI : public TypeSystemRef {
+ PicoModelLoader m_modelLoader;
public:
-typedef ModelLoader Type;
-
-ModelPicoAPI( const char* extension, const picoModule_t* module ) :
- m_modelLoader( module ){
- StringOutputStream filter( 128 );
- filter << "*." << extension;
- GlobalFiletypesModule::getTable().addType( Type::Name(), extension, filetype_t( module->displayName, filter.c_str() ) );
-}
-ModelLoader* getTable(){
- return &m_modelLoader;
-}
+ typedef ModelLoader Type;
+
+ ModelPicoAPI(const char *extension, const picoModule_t *module) :
+ m_modelLoader(module)
+ {
+ StringOutputStream filter(128);
+ filter << "*." << extension;
+ GlobalFiletypesModule::getTable().addType(Type::Name(), extension,
+ filetype_t(module->displayName, filter.c_str()));
+ }
+
+ ModelLoader *getTable()
+ {
+ return &m_modelLoader;
+ }
};
-class PicoModelAPIConstructor
-{
-CopiedString m_extension;
-const picoModule_t* m_module;
+class PicoModelAPIConstructor {
+ CopiedString m_extension;
+ const picoModule_t *m_module;
public:
-PicoModelAPIConstructor( const char* extension, const picoModule_t* module ) :
- m_extension( extension ), m_module( module ){
-}
-const char* getName(){
- return m_extension.c_str();
-}
-ModelPicoAPI* constructAPI( ModelPicoDependencies& dependencies ){
- return new ModelPicoAPI( m_extension.c_str(), m_module );
-}
-void destroyAPI( ModelPicoAPI* api ){
- delete api;
-}
+ PicoModelAPIConstructor(const char *extension, const picoModule_t *module) :
+ m_extension(extension), m_module(module)
+ {
+ }
+
+ const char *getName()
+ {
+ return m_extension.c_str();
+ }
+
+ ModelPicoAPI *constructAPI(ModelPicoDependencies &dependencies)
+ {
+ return new ModelPicoAPI(m_extension.c_str(), m_module);
+ }
+
+ void destroyAPI(ModelPicoAPI *api)
+ {
+ delete api;
+ }
};
PicoModelModules g_PicoModelModules;
-extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules( ModuleServer& server ){
- initialiseModule( server );
-
- pico_initialise();
-
- const picoModule_t** modules = PicoModuleList( 0 );
- while ( *modules != 0 )
- {
- const picoModule_t* module = *modules++;
- if ( module->canload && module->load ) {
- for ( char*const* ext = module->defaultExts; *ext != 0; ++ext )
- {
- g_PicoModelModules.push_back( PicoModelModule( PicoModelAPIConstructor( *ext, module ) ) );
- g_PicoModelModules.back().selfRegister();
- }
- }
- }
+extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer &server)
+{
+ initialiseModule(server);
+
+ pico_initialise();
+
+ const picoModule_t **modules = PicoModuleList(0);
+ while (*modules != 0) {
+ const picoModule_t *module = *modules++;
+ if (module->canload && module->load) {
+ for (char *const *ext = module->defaultExts; *ext != 0; ++ext) {
+ g_PicoModelModules.push_back(PicoModelModule(PicoModelAPIConstructor(*ext, module)));
+ g_PicoModelModules.back().selfRegister();
+ }
+ }
+ }
}