LFC1 (obsolete)

In case you were wondering where/what the heck is LFC1, well, here it is. LFC1 started as a home-made framework, consisting of a few container classes and then grew to become quite useful, now including support for C++ callbacks, GUI, threads, sockets, OpenGL, as well as many other features.

Although LFC1 had different, much modest goals than LFC2, it proved quite useful. It's primary goal was reusing code by creating reusable and easy to use classes. Those classes were not only simple wrappers around win32 api, but they provided some clear and intuitive OOP abstractions for many common tasks, making writing applications somewhat easier, faster and more fun.

However, it remains a home-made library, Win32 dependent, and we've uploaded here so that any user could take a peek at what LFC2 is supposed to be and how easy will be to use.

Don't be mislead by any errors in code or in the design of LFC1. LFC2 was written from scratch, so that it won't suffer from the same problems that LFC1 did. Although somewhat similar, there is a huge difference between the 2 versions.

LFC1 is a dead project and it has become the testing ground for the nuclear ideas we're having for LFC2. However, in its time, it has produced some interesting and complex applications and if you're interested in further development of LFC1 or in developing applications based on it, don't hesitate to contact us for support.


Disclaimer

Be warned! LFC1 contains many implementation and design errors and it's here as a mere demonstration. If you want to use it, use it at your own risk! Try this, only at home! :-)

Also, some test projects may not be working anymore, as they were written in the early days of LFC1 and it has changed a lot since then.


Download and compiling

LFC1 should be compiled with MSVC++ 6.0/7.0 (it won't compile with older versions). Before compiling, you should make sure that the lib files that LFC1 is using are in the same path as those on your computer. You should do this by deleting all the lib files in workspace lfc/project lfc/Libraries and then add them again (all of them) from wherever you have them on your disk (in the MSVC's directory).

You can compile any project you want from within the workspace, except lfc, which will be automatically compiled, because all the other projects are depedent on it. Don't get me wrong; it can be compiled, but it's the very library and it won't produce any obvious results.

There are lot of other projects/tests you can find in /tests and /others. You can add and compile any of those projects, by following the next mini-tutorial, using MSVC++ 6.0:

  • Project/Insert Project into Workspace...
  • select whatever project you want to compile
  • Project/Dependencies...
  • from the projects list, check lfc
  • compile and be happy :-)
If you'd like to start your own project, it's a little bit more complicated than this, so if you have any problems, just contact us. If we'll receive enough such requests, we'll soon post a mini-tutorial for that too.

LFC1 has some docs, but unfortunately they are in Romanian. If you have any questions, we'd be glad to answer them, in English, of course :-).

You can download the sources here: wlfc12-25-2001.zip (2562900 bytes)


Applications

If you want to skip the compiling phase and quickly get some working applications, here are the release binaries of some of the most interesting projects we've completed using LFC1. These programs are free to download and use, the copyrights belonging to their respective authors. Any contributions are welcomed.
Have fun! We did... :-)

Application: 3DViewer
Author: Leonard Mosescu
Description: 3DViewer is an OpenGL viewer for Quake2 character meshes and more, with animation support.
Screenshots: 3DViewer.jpg
Download: 3DViewer.zip (413366 Bytes)

Application: Calculator
Author: Leonard Mosescu
Description: Calculator is a simple pocket calculator which features an expression evaluator.
Screenshots: calculator.jpg
Download: calculator.zip (60473 Bytes)

Application: ConvexHull
Author: Leonard Mosescu
Description: ConvexHull is a GUI front-end implementation of a computational geometry algorithm for calculating the convex hull, called Graham's Scan.
Screenshots: convexHull.jpg
Download: convexHull.zip (73190 Bytes)

Application: OpenGLMaterial
Author: Leonard Mosescu
Description: OpenGLMaterial is a useful tool for editing and previewing OpenGL materials.
Screenshots: OpenGLMaterial.jpg
Download: OpenGLMaterial.zip (77806 Bytes)

Application: Pool3D
Author: Leonard Mosescu
Description: Pool3D is a simple pool game, which makes use of the OpenGL support and the sound support provided by LFC1. If you're interested in further development of this game, please contact its author.
Screenshots: Pool3D.jpg
Download: Pool3D.zip (170283 Bytes)

Application: ReliefGen
Author: Daniel Secrieru
Description: ReliefGen is a fractal based terrain generator, which makes use of the OpenGL support included in LFC. It is a good example of what the GUI support from LFC1 is capable of. If you'd like to know more about this application, please contact its author.
Screenshots: reliefGen1.jpg reliefGen2.jpg
Download: reliefGen.zip (279109 Bytes)

Application: Tetris2D
Author: Daniel Secrieru
Description: Tetris2D is a classical tetris game, which features a table/pieces editor, so you can have more fun by creating/playing with your own pieces set. It has one small problem, though: it doesn't have its own sounds and makes use of the sounds from Pool3D. 'Sounds' like fun, but if you have some sounds that would fit better, please contact its author.
Screenshots: ingame.jpg tableEditor.jpg piecesEditor.jpg
Download: Tetris2D.zip (254925 Bytes)