Code Monkey home page Code Monkey logo

dpengine_old's Introduction

DPengine

[INFORMATION:] This branch only exists for backward compatibility, since its Git history is an utter mess; refer here to get the updated version with fully restored and linearized history dating back to the project`s inception in 2014.

dpengine_old's People

Contributors

hidefromkgb avatar octylfractal avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

octylfractal

dpengine_old's Issues

OSX can't make

Not sure what's up, but the make files don't appear to work.

$ make           
mkdir -p .obj/core/gif
mkdir -p .obj/core/ogl
gcc -m32 -mstackrealign -I../core -Wall -fPIC -fvisibility=hidden -O2  -c lib.c -o .obj/lib.o
lib.c:95:11: error: no member named 'draw' in 'struct _ENGD'
    engd->draw = rscm;
    ~~~~  ^
lib.c:117:12: error: unknown type name 'MENU'
id Submenu(MENU *menu, id base) {
           ^
lib.c:136:30: error: use of undeclared identifier 'MFL_CCHK'
            if (menu->flgs & MFL_CCHK) {
                             ^
lib.c:137:54: error: use of undeclared identifier 'MFL_RCHK'
                setOnStateImage_(item, (menu->flgs & MFL_RCHK & ~MFL_CCHK)?
                                                     ^
./mac.h:285:116: note: expanded from macro 'setOnStateImage_'
#define setOnStateImage_(inst, i)                                      objc_msgSend(inst, LoadedObjCSelectors[24], i)
                                                                                                                   ^
lib.c:137:66: error: use of undeclared identifier 'MFL_CCHK'
                setOnStateImage_(item, (menu->flgs & MFL_RCHK & ~MFL_CCHK)?
                                                                 ^
./mac.h:285:116: note: expanded from macro 'setOnStateImage_'
#define setOnStateImage_(inst, i)                                      objc_msgSend(inst, LoadedObjCSelectors[24], i)
                                                                                                                   ^
lib.c:139:47: error: use of undeclared identifier 'MFL_VCHK'
                setState_(item, (menu->flgs & MFL_VCHK)?
                                              ^
./mac.h:287:127: note: expanded from macro 'setState_'
#define setState_(inst, s)                                             objc_msgSend(inst, LoadedObjCSelectors[26], (unsigned)(s))
                                                                                                                              ^
lib.c:150:45: error: use of undeclared identifier 'MFL_GRAY'
            setEnabled_(item, (menu->flgs & MFL_GRAY)? false : true);
                                            ^
./mac.h:280:123: note: expanded from macro 'setEnabled_'
#define setEnabled_(inst, b)                                           objc_msgSend(inst, LoadedObjCSelectors[19], (bool)(b))
                                                                                                                          ^
lib.c:163:8: error: unknown type name 'MENU'
inline MENU *OSSpecificMenu(ENGD *engd) {
       ^
lib.c:169:28: error: unknown type name 'MENU'
void EngineOpenContextMenu(MENU *menu) {
                           ^
lib.c:287:5: error: use of undeclared identifier 'MENU'
    MENU *item = (typeof(item))tag(this);
    ^
lib.c:287:11: error: use of undeclared identifier 'item'; did you mean 'cItem'?
    MENU *item = (typeof(item))tag(this);
          ^~~~
          cItem
/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AERegistry.h:65:3: note: 'cItem' declared here
  cItem                         = 'citm', /*  0x6369746d  */
  ^
lib.c:287:26: error: use of undeclared identifier 'item'
    MENU *item = (typeof(item))tag(this);
                         ^
lib.c:289:9: error: use of undeclared identifier 'item'
    if (item) {
        ^
lib.c:290:9: warning: implicit declaration of function 'ProcessMenuItem' is invalid in C99 [-Wimplicit-function-declaration]
        ProcessMenuItem(item);
        ^
lib.c:290:25: error: use of undeclared identifier 'item'
        ProcessMenuItem(item);
                        ^
lib.c:291:13: error: use of undeclared identifier 'item'
        if (item->flgs & MFL_CCHK)
            ^
lib.c:291:26: error: use of undeclared identifier 'MFL_CCHK'
        if (item->flgs & MFL_CCHK)
                         ^
lib.c:292:30: error: use of undeclared identifier 'item'
            setState_(this, (item->flgs & MFL_VCHK)? NSOnState : NSOffState);
                             ^
./mac.h:287:127: note: expanded from macro 'setState_'
#define setState_(inst, s)                                             objc_msgSend(inst, LoadedObjCSelectors[26], (unsigned)(s))
                                                                                                                              ^
lib.c:292:43: error: use of undeclared identifier 'MFL_VCHK'
            setState_(this, (item->flgs & MFL_VCHK)? NSOnState : NSOffState);
                                          ^
./mac.h:287:127: note: expanded from macro 'setState_'
#define setState_(inst, s)                                             objc_msgSend(inst, LoadedObjCSelectors[26], (unsigned)(s))
                                                                                                                              ^
lib.c:326:16: error: no member named 'draw' in 'struct _ENGD'
    if (!engd->draw)
         ~~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [.obj/lib.o] Error 1

Can't compile Linux

$ make
gcc `pkg-config gtk+-2.0 gtkglext-1.0 gtkglext-x11-1.0 --cflags` -I../core -Wall -ffunction-sections -fdata-sections -I/usr/include/gtkglext-1.0 -I/usr/lib/gtkglext-1.0/include -c lib.c -o .obj/lib.o
lib.c:260:18: error: unknown type name ‘THRD’
 void lMakeThread(THRD *thrd) {
                  ^~~~
Makefile:95: recipe for target '.obj/lib.o' failed
make: *** [.obj/lib.o] Error 1

It looks like you dropped some types that were used in Linux lib.c in hidefromkgb/DPengine@84e258d#diff-8f37e6166aaaa224bab434fb588fbb75L38.

Documentation - add Linux build requirements

I have a brand new Ubuntu 18.04 install and I had to install the following:

make
gcc
mesa-common-dev
libgtk2.0-dev
libgtkglext1-dev
libcurl4-openssl-dev
libssl-dev

Yes, of course the first few requirements were no surprise. :)

It's also surprising that I have to get into the linux folder and run the Makefile, and the result gets put outside. Some 'build' commands at root would be helpful probably.

(Also it segfaults right after downloading all ponies, and then instantly on running afterwards. I'll probably try to investigate why, when I find the time in a few weeks.)

Make a release

I'd love to link this more, it'd be great if it had a ready-to-go release for those who aren't build-from-source types.

Empty if stmt warning when building on OS X

In file included from lib.c:4:
./mac.h:430:37: warning: incompatible pointer types assigning to 'id' (aka 'struct objc_object *') from 'Class' (aka 'struct objc_class *')
      [-Wincompatible-pointer-types]
            LoadedObjCClasses[iter] = objc_getClass(clas[iter]);
                                    ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
mkdir -p .obj/exec
gcc -I../core -Wall -O2  -c ../exec/exec.c -o .obj/exec/exec.o
../exec/exec.c:580:24: warning: if statement has empty body [-Wempty-body]
    if (TRY_TEMP(conf));
                       ^
../exec/exec.c:580:24: note: put the semicolon on a separate line to silence this warning
../exec/exec.c:584:24: warning: if statement has empty body [-Wempty-body]
    if (TRY_TEMP(conf));
                       ^
../exec/exec.c:584:24: note: put the semicolon on a separate line to silence this warning
../exec/exec.c:609:24: warning: if statement has empty body [-Wempty-body]
    if (TRY_TEMP(conf));
                       ^
../exec/exec.c:609:24: note: put the semicolon on a separate line to silence this warning
../exec/exec.c:613:24: warning: if statement has empty body [-Wempty-body]
    if (TRY_TEMP(conf));
                       ^
../exec/exec.c:613:24: note: put the semicolon on a separate line to silence this warning
../exec/exec.c:653:24: warning: if statement has empty body [-Wempty-body]
    if (TRY_TEMP(conf));
                       ^
../exec/exec.c:653:24: note: put the semicolon on a separate line to silence this warning
5 warnings generated.
gcc -I../core -Wall -O2  -c run.c -o .obj/run.o
In file included from run.c:8:
./mac.h:430:37: warning: incompatible pointer types assigning to 'id' (aka 'struct objc_object *') from 'Class' (aka 'struct objc_class *')
      [-Wincompatible-pointer-types]
            LoadedObjCClasses[iter] = objc_getClass(clas[iter]);
                                    ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
gcc  .obj/core/core.o .obj/core/gif/common.o .obj/core/gif/gifstd.o .obj/core/ogl/common.o .obj/core/ogl/oglstd.o .obj/lib.o .obj/exec/exec.o .obj/run.o -o ../macos.app/Contents/MacOS/DPE -framework AppKit -framework OpenGL
if ! [ -h ../macos.app/Contents/MacOS/Ponies ]; then ln -s ../../../Ponies ../macos.app/Contents/MacOS/Ponies; fi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.