neogeographica / MeshTex

MeshTex plugin for GtkRadiant.
http://neogeographica.com/
GNU General Public License v2.0
0 stars 0 forks source link

Investigate porting to GtkRadiant 1.6 #1

Open neogeographica opened 12 years ago

neogeographica commented 12 years ago

It's the wave of the future. Probably some interesting architectural differences that will make me change everything!

neogeographica commented 11 years ago

Some notes on the current plugin dependencies on Radiant interfaces and data structures:

PluginModule.{cpp,h} and PluginRegistration.cpp have all sorts of dependencies
(New plugin registration for 1.6 uses Synapse_EnumerateInterfaces)

Many files use templates from libs/generic/callback.h:
  BindFirstOpaque2, BindFirstOpaque3, Callback1, Callback2, Callback3, MemberCaller1, PointerCaller1
And a template from libs/generic/referencecounted.h:
  SmartPointer

GenericPluginUI.cpp
  qerplugin.h
    GlobalRadiant().m_pfnMessageBox
    eMB_OK, eMB_ICONERROR, eMB_ICONWARNING, eMB_ICONDEFAULT defines

MeshEntity.cpp
  ishaders.h
    IShader type
    GlobalShaderSystem.getShaderForName
  libs/texturelib.h
    qtexture_t type

MeshEntity.h
  libs/scenelib.h
    FLT_MAX define (in MeshEntity.cpp)
    scene::Instance type (in MeshVisitor.cpp)
    Node_isPatch (in MeshVisitor.cpp)
  ipatch.h
    Matrix type
    GlobalPatchCreator().Patch_getControlPoints, Patch_getShader, Patch_undoSave, Patch_controlPointsChanged (in MeshEntity.cpp)

GeneralFunctionDialog.cpp
  iundo.h
    UndoableCommand

MainMenu.cpp and SetScaleDialog.cpp
  iselection.h
    GlobalSelectionSystem
  iundo.h
    UndoableCommand

AllocatedMatrix.h
  ipatch.h
    Matrix type

MeshVisitor.h
  iselection.h
    SelectionSystem::Visitor type