Jump to content
Eternal Lands Official Forums

Korythaiolos

Members
  • Content count

    8
  • Joined

  • Last visited

Posts posted by Korythaiolos


  1. ...and here is the Makefile I used (not very nice yet, I’ve modified the above file to work with newer CVS clients; you also have to set some options in BSDmakefile.inc obviously). I’ll make it work with make.defaults though so that it can be committed to CVS as Makefile.bsd hopefully.

     

    VERSION=180
    PROG=el.x86.bsd.bin.${VERSION}
    NO_MAN=yes
    EXTRA_INCLUDES?=
    EXTRA_LIBS?=
    CPPFLAGS=-DBSD -DELC ${EXTRA_INCLUDES}
    CFLAGS+=-ffast-math
    CXXFLAGS+=-ffast-math
    # Core sources
    SRCS=2d_objects.c 3d_objects.c \
    actor_scripts.c actors.c alphamap.c asc.c astrology.c \
    bbox_tree.c books.c buddy.c buffs.c bags.c \
    cache.c cal.c calc.c chat.c cluster.c colors.c console.c consolewin.c \
    counters.c cursors.c dds.c ddsimage.c dialogues.c draw_scene.c   \
    eye_candy_debugwin.c elconfig.c elwindows.c encyclopedia.c errors.c events.c \
    filter.c font.c framebuffer.c frustum.c \
    gamewin.c gl_init.c hud.c help.c highlight.c	\
    ignore.c init.c interface.c items.c	 \
    io/e3d_io.c io/elc_io.c io/map_io.c	 \
    io/half.c io/normal.c \
    keys.c knowledge.c langselwin.c lights.c list.c load_gl_extensions.c \
    loginwin.c loading_win.c		\
    main.c manufacture.c map.c mapwin.c	 \
    md5.c mines.c misc.c missiles.c multiplayer.c	  \
    new_actors.c new_character.c  \
    openingwin.c	\
    particles.c paste.c pathfinder.c pm_log.c	   \
    questlog.c queue.c reflection.c rules.c \
    skeletons.c skills.c serverpopup.c servers.c session.c shadows.c sound.c  \
    spells.c stats.c storage.c  \
    tabs.c text.c textures.c tile_map.c timers.c translate.c trade.c		\
    update.c url.c weather.c widgets.c makeargv.c hash.c \
    cal3d_wrapper.cpp actor_init.cpp optimizer.cpp sendvideoinfo.cpp \
    
    # Feature related sources
    ENCYCLOPEDIA_SRCS = books/fontdef.c books/parser.c books/symbols.c books/typesetter.c sort.c symbol_table.c
    MEMORY_DEBUG_SRCS = elmemory.c
    NOTEPAD_SRCS = notepad.c
    POPUP_SRCS = popup.c
    SFX_SRCS = special_effects.c
    MINIMAP_SRCS = minimap.c
    SKY_FPV_CURSOR_SRCS = sky.c
    NEW_FILE_IO_SRCS = io/elpathwrapper.c io/xmlcallbacks.c
    NEW_FILE_IO_SRCS += io/elfilewrapper.cpp io/elfile.cpp io/zipfilesystem.cpp
    USE_SHADER_SRCS = shader/noise.c shader/shader.c
    PAWN_SRCS = pawn/amx.c pawn/amxaux.c pawn/amxcons.c pawn/amxel.c \
    pawn/amxfloat.c pawn/amxstring.c pawn/elpawn.c
    USE_SEND_VIDEO_INFO_SRCS = sendvideoinfo.cpp
    CXX_MISC_SRCS = exceptions/extendedexception.cpp xml/xmlhelper.cpp
    NEW_SELECTION_SRCS = select.cpp
    CONTEXT_MENUS_SRCS = context_menu.cpp
    TEXT_ALIASES_SRCS = text_aliases.c
    ITEM_LISTS_SRCS = item_lists.cpp
    EMOTES_SRCS = emotes.c
    USER_MENUS_SRCS = user_menus.cpp
    EYE_CANDY_SRCS=eye_candy_wrapper.cpp \
    eye_candy/eye_candy.cpp eye_candy/math_cache.cpp eye_candy/effect_lamp.cpp \
    eye_candy/effect_candle.cpp \
    eye_candy/effect_campfire.cpp eye_candy/effect_fountain.cpp \
    eye_candy/effect_teleporter.cpp eye_candy/effect_firefly.cpp \
    eye_candy/effect_sword.cpp eye_candy/effect_summon.cpp \
    eye_candy/effect_selfmagic.cpp eye_candy/effect_targetmagic.cpp \
    eye_candy/effect_ongoing.cpp eye_candy/effect_impact.cpp \
    eye_candy/effect_smoke.cpp eye_candy/effect_bag.cpp eye_candy/effect_cloud.cpp \
    eye_candy/effect_harvesting.cpp eye_candy/effect_wind.cpp \
    eye_candy/effect_breath.cpp eye_candy/effect_glow.cpp eye_candy/effect_mines.cpp \
    eye_candy/effect_missile.cpp eye_candy/orbital_mover.cpp eye_candy/kepler_orbit.cpp \
    eye_candy/effect_staff.cpp
    
    # SDL. Some old ports use sdl$version-config, set accordingly
    SDL_CONFIG?=/usr/local/bin/sdl-config
    SDL_CFLAGS!=${SDL_CONFIG} --cflags
    SDL_LIBS!=${SDL_CONFIG} --libs
    
    # XML 2.
    XML2_CONFIG?=/usr/local/bin/xml2-config
    XML2_CFLAGS!=${XML2_CONFIG} --cflags
    XML2_LIBS!=${XML2_CONFIG} --libs
    
    # Preprocessor basics
    CPPFLAGS+=-I/usr/local/include -I. -Ibooks -Ieye_candy -Iio -Ipawn ${SDL_CFLAGS} ${XML2_CFLAGS}
    
    # Linking basics
    LDFLAGS+=-L/usr/local/lib
    LDADD=${SDL_LIBS} ${XML2_LIBS} -lSDL_net -lSDL_image -lopenal -lalut -lGL
    LDADD+=-lGLU -lcal3d -lm ${EXTRA_LIBS}
    
    # Feature related libs
    ZLIB_LIBS = -lz
    NEW_FILE_IO_LIBS = -lz
    EYE_CANDY_LIBS = -lpng
    PNG_SCREENSHOT_LIBS = -lpng
    OGG_VORBIS_LIBS = -lvorbis -lvorbisfile
    
    # Include features and add them to sources, defines and libs
    .include <BSDmakefile.inc>
    .for _FEATURE in ${FEATURES}
    CPPFLAGS+=-D${_FEATURE}
    .if defined(${_FEATURE}_SRCS)
    SRCS+=${${_FEATURE}_SRCS}
    .endif
    .if defined(${_FEATURE}_LIBS)
    LDADD+=${${_FEATURE}_LIBS}
    .endif
    .endfor
    
    .c.o:
    ${CC} ${CPPFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
    
    .cpp.o:
    ${CXX} ${CPPFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
    
    pawn_scripts/features.inc: BSDmakefile.inc
    echo "#if defined _features_included" > ${.TARGET}; \
    echo -e "\t#endinput" >> ${.TARGET}; \
    echo "#endif" >> ${.TARGET}; \
    echo "#define _features_included" >> ${.TARGET}; \
    for feature in ${FEATURES}; do \
    	echo "#define $${feature}" >> ${.TARGET}; \
    done
    
    .include <bsd.prog.mk>

     

    ...and I just noticed that tabs get converted to spaces by the forum software. BSD’s make doesn’t like spaces; use tabs instead.


  2. I’ve just tried compiling from CVS: Apparently, the gl_ext.h (old load_gl_extensions.h) stuff is fixed as it now checks for the GL version, but now I’m getting other kinds of errors:

     

    EDIT: Ok, I’ve modified the Makefile to get rid of most errors, but these remain (and I have no idea why or how to fix that):

    map.o(.text+0x9f6): In function `init_server_markers':
    : undefined reference to `cmp_fn_int'
    map.o(.text+0x9fb): In function `init_server_markers':
    : undefined reference to `hash_fn_int'
    books/fontdef.o(.text+0x7f8): In function `fd_load':
    : undefined reference to `LOG_ERROR'
    books/fontdef.o(.text+0x809): In function `fd_load':
    : undefined reference to `LOG_ERROR'
    books/fontdef.o(.text+0x81a): In function `fd_load':
    : undefined reference to `LOG_ERROR'
    books/fontdef.o(.text+0x835): In function `fd_load':
    : undefined reference to `LOG_ERROR'
    books/fontdef.o(.text+0x850): In function `fd_load':
    : undefined reference to `LOG_ERROR'
    books/fontdef.o(.text+0x86b): more undefined references to `LOG_ERROR' follow

     

    EDIT2: Got the CVS client to compile. I had to:

    #include "../errors.h" in books/fontdef.c

    remove __inline__ from definition/declaration of [cmp|hash]_fn_[str|int] functions in hash.h as well as hash.c (why are these inline functions although they are used by map.c?)


  3. Ok, something strange is happening now. When I start the new client with the new data files in ~/.elc/, it’s exactly the same as with Nerdz and The_Saxman, the client doesn’t load at all. But when I use the new client with the old data files, it at least loads up (though without a cursor and weird looking maps).


  4. I have a problem compiling the mapeditor too:

    make -f Makefile.linux
    gcc -DLINUX -DMAP_EDITOR  -DEYE_CANDY  -DSFX  -DNEW_E3D_FORMAT  -DCLUSTER_INSIDES  -DNEW_LIGHT_FORMAT -DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -DGTK2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -I/usr/include/libxml2 -g -Wall -Wdeclaration-after-statement  -c -o elconfig.o ../elc/elconfig.c
    ../elc/elconfig.c: In function ‘destroy_shadow_mapping’:
    ../elc/elconfig.c:192: warning: implicit declaration of function ‘free_shadow_framebuffer’
    ../elc/elconfig.c: In function ‘destroy_fbos’:
    ../elc/elconfig.c:214: warning: implicit declaration of function ‘free_reflection_framebuffer’
    ../elc/elconfig.c:215: warning: implicit declaration of function ‘minimap_free_framebuffer’
    ../elc/elconfig.c: In function ‘build_fbos’:
    ../elc/elconfig.c:225: error: ‘use_frame_buffer’ undeclared (first use in this function)
    ../elc/elconfig.c:225: error: (Each undeclared identifier is reported only once
    ../elc/elconfig.c:225: error: for each function it appears in.)
    ../elc/elconfig.c: In function ‘read_el_ini’:
    ../elc/elconfig.c:1839: warning: implicit declaration of function ‘open_file_config’
    ../elc/elconfig.c:1839: warning: initialization makes pointer from integer without a cast
    ../elc/elconfig.c: In function ‘write_el_ini’:
    ../elc/elconfig.c:1882: warning: assignment makes pointer from integer without a cast
    ../elc/elconfig.c:1900: warning: assignment makes pointer from integer without a cast
    make: *** [elconfig.o] Fehler 1

     

    What’s wrong? Am I still missing a header file?


  5. I too am having some problems compiling the CVS client under Linux (SuSE 10.3 x86_64 with gcc 4.2). After installing all necessary *-devel-packages and editing the make.conf, I still get the following errors:

    make -f Makefile.linux
    gcc -march=x86-64 -Wall -Wdeclaration-after-statement -O0 -ggdb -pipe -DLINUX -DELC  -DALPHA_ACTORS  -DCLUSTER_INSIDES  -DCALCULATOR  -DCACHE_ANIMATIONS  -DCUSTOM_LOOK  -DCUSTOM_UPDATE  -DFUZZY_PATHS  -DMASKING  -DNEW_ACTOR_ANIMATION  -DNEW_SOUND  -DNEW_TEX  -DPNG_SCREENSHOT  -DPOPUP  -DSIMPLE_LOD  -DUSE_INLINE  -DZLIB -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/libxml2 -fno-strict-aliasing  -c -o actor_scripts.o actor_scripts.c
    In file included from actor_scripts.c:20:
    multiplayer.h:9:21: error: SDL_net.h: Datei oder Verzeichnis nicht gefunden
    In file included from actor_scripts.c:20:
    multiplayer.h:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my_socket’
    multiplayer.h:70: error: expected ‘)’ before ‘my_socket’
    multiplayer.h:72: error: expected ‘)’ before ‘my_socket’
    actor_scripts.c: In function ‘update_all_actors’:
    actor_scripts.c:1728: warning: implicit declaration of function ‘my_tcp_send’
    actor_scripts.c:1728: error: ‘my_socket’ undeclared (first use in this function)
    actor_scripts.c:1728: error: (Each undeclared identifier is reported only once
    actor_scripts.c:1728: error: for each function it appears in.)
    make: *** [actor_scripts.o] Fehler 1

    Any ideas?

×