Jump to content
Eternal Lands Official Forums

0ctane

Members
  • Content count

    681
  • Joined

  • Last visited

Posts posted by 0ctane


  1. Updates:

    Well, I have been able to get around some issues on my 10.3.9 G5. A few posts ago, I was temporarily using a 10.4 G4 laptop. Once again i am stuck in gl_init.c, but this time it is a glViewport problem:

    Program received signal EXC_BAD_ACCESS, Could not access memory.
    0x9091acc8 in glViewport ()
    (gdb) bt
    #0  0x9091acc8 in glViewport ()
    #1  0x0002ead0 in resize_root_window () at gl_init.c:774
    #2  0x0002ead0 in resize_root_window () at gl_init.c:774
    #3  0x0001e094 in change_projection_float (var=0xcfca4, value=0xbfffd780) at elconfig.c:439
    #4  0x0001e6d8 in check_var (str=0x0, type=COMMAND_LINE_SHORT_VAR) at elconfig.c:700
    #5  0x00020314 in read_el_ini () at elconfig.c:1106
    ...

    The call was glViewport(0, 0, window_width, window_height);

    The line numbers are no longer accurate since i have put in printf calls to trace the program. The variables being sent to glViewport are: window_height of 480, window_width 640, (hud_x 64, hud_y 48)

    I have played around with some other numbers to no avail.

     

    I downloaded and compiled the atlantis opengl demo, and it runs just fine. However, it does use GLUT (and calls glViewport) and does not use SDL. I have been able to compile a SDL version of atlantis (in Xcode), and it runs fine too. But, it too uses GLUT. IIRC, the old EL client had GLUT code. The global.h file has OSX including <GLUT/glut.h>, although there are no glut calls in the current code (that I know of). As a last resort, I suppose I could re-GLUT the client. :glare:

     

    BTW, this is all using gcc 3.3, in case anyone was wondering. gcc 4.0 is too strict for the various minor errors that pop up.


  2. Sue me Drakos7. I will hunt you down. It was a long post.

     

    But more seriously, maybe a new potion or spell that uses, say, those earth/air essences. Or black roses or some other unused harvestable item. Like a prophylactic shot, or like the shield spell. Something to reduce that insane damage. I got hit once last night, and three others around me got hit in about an hour.

     

    Oooo... Maybe a lead cape! Then you have to choose between the excavator cape or it. Hmmm.... doing cost-benefit analysis.... OOOooo, and the cape could have a superman logo on it! JK

     

    (edited for superman comment)


  3. 0ctane's continued experience,

    So, I spent last night just harvesting and fighting skeles (like I predicted, funny, huh?). But one thing I found out of place concerning a cooldown. I often take a potion of will and reason with me to harvest (just to get a few extra exp). I consumed the first, but then had to wait to consume the other. Why? To control someone taking ten healing pots all at once, I can understand a cooldown. But, if I take ten potions of will, the effect is not cumulative, right? For those "let's make this more realistic" folks, it really does not take that long to take a shot. Maybe these potions taste really bad and we have to cooldown to prevent barfing. :blink: Yeah, that would be a good explanation for potion cooldown. Maybe ROLAIDS can be put into the next update to reduce cooldown times. Or harvesting of magnesium. :doze:

     

    I do agree with that food vs leather manu cooldown comment. Not too balanced. While I do not manu clothes/armor, I hope your comment doesn't make them raise the time for that.

     

    Oh, and cooldown gives me more time to chat with guildies. That is a bonus. But, I feel sorry for the introverts.


  4. 0ctane's experience (pun intended) so far....

     

    First off, I was quite surprised to see the cooldown go into effect today. Guildmates had been warning of it for the past two days. My food level was low from last night, and I was out of fruit, so I harvested a bit, ate, tried to eat again and was 1) interested that the feature was implemented, and 2) annoyed that my food level was only 15 and I would have to wait a minute. What to do....

     

    Well, the next hour was 45 minutes away, so I would not get any harvest experience. HEs, which gave the best exp vs manufacture time IMO, were not so attractive anymore since food drain by HEs is much faster than the cooldown effect. Same with MEs. Oh, and LEs too. Lets try MatterEs. Nope. Okay, found two. FEs and WEs you can still mass produce within the cooldown, sorta.

     

    Lately I thought I should improve my fighting skills. Since I am a low level fighter, I have been going after goblins and skeletons. Lately, these spawns have been packed with other people trying to also level up. So, while there is no cooldown if you are fighting at your level, there is not really anything to fight. For me, other than harvesting titanium for ten minutes until I hit the time/exp limit, the biggest bang for the buck (so to speak) is fighting these gobs and skeles. Maybe this cooldown thing has made a lot of people leave, because my usual hunting ground is empty now. But, I suspect many people will turn to fighting rather than sitting on their duffs alch/manuing and waiting for the cooldown. Oop, not empty anymore. Need to find something else to do now.

     

    Writing this has given my character plenty of time to cooldown between chows.

    And that radiation damage thing is pretty nasty. Can we start manufacturing geiger counters?

    I think the cooldown is probably a good thing. However, as the multitude of edited comments showed, you might have wanted to implement it at the same time as a bonus feature...like geiger counters. :lol: More seriously though, maybe more lower level monster hunting grounds? Or balance the radiation damage with more blessing from MN? Everything in moderation...or at least balanced. Well, new hour. Time for my 10 minutes of harvesting...then to ponder what to do for the next 50 minutes.


  5. So I am tracing the problem right now. My thread trace was:

    Thread 0 Crashed:
    0   libGL.dylib              	0x909156b4 glMatrixMode + 0x2c
    1   el_osx                    0x0002e26c resize_root_window + 0x3c (gl_init.c:748)
    2   el_osx                    0x0001d9a8 change_projection_float + 0x14 (elconfig.c:438)
    3   el_osx                    0x0001dfdc check_var + 0x370 (elconfig.c:681)
    4   el_osx                    0x0001fc08 read_el_ini + 0x50 (elconfig.c:1078)
    5   el_osx                    0x0003458c read_config + 0xa8 (init.c:193)
    ...

    ...so i looked into read_el_ini. By throwing in a printf call, the el.ini file is read up to line 302 which is #near_plane = 40.0 for me. I don't think the problem is here, but I cannot really tell. Looked into resize_root_window. The variables seem to be okay: window_height = 480, window_width = 640, hud_x = 64, hud_y = 48. But the run dies at the glMatrixMode(GL_PROJECTION) call. I might need to write a small OpenGL program to test out my OpenGL. ugg.... I uncommented the glViewport call in gl_init.c (in the resize_root_window function), and the program crashes there. I am thinking that the OpenGL context is not being setup properly before we get into this function.... Thoughts anyone?


  6. Try adding iconv on your linker line? maybe directly referanced it wont be an issue

    205543[/snapback]

    So I was gone for a week doing research (RL work), and I cannot reproduce this error. :huh:

    On the plus side, I have been able to compile the program! :D However, it does not run. :)

    Compiling give a bunch of "warning: passing arg 2 of `glDeleteTextures' from incompatible pointer type" messages, but I do not think that is a big deal. Other errors:

    asc.c: In function `my_UTF8Toisolat1':
    asc.c:394: warning: passing arg 2 of `libiconv' from incompatible pointer type
    .
    gamewin.c: In function `keypress_root_common':
    gamewin.c:863: warning: implicit declaration of function `startpaste'
    .
    gl_init.c: In function `init_gl_extensions':
    gl_init.c:539: warning: passing arg 2 of `glGetIntegerv' from incompatible pointer type
    .
    lights.c:77: warning: passing arg 6 of `gluProject' from incompatible pointer type
    .
    particles.c: In function `load_particle_def':
    particles.c:138: warning: unsigned int format, GLenum arg (arg 3)
    particles.c:138: warning: unsigned int format, GLenum arg (arg 4)
    .
    sound.c: In function `get_loaded_buffer':
    sound.c:210: warning: unused variable `loop'
    sound.c: In function `kill_local_sounds':
    sound.c:609: warning: unused variable `queued'
    sound.c:609: warning: unused variable `processed'
    .
    ld: warning multiple definitions of symbol CAGuard::Wait()
    /Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::Wait()
    ...
    ld: warning multiple definitions of symbol _ZN7CAGuardD0Ev.eh
    /Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of _ZN7CAGuardD0Ev.eh
    ...
    symbol CAGuard::~CAGuard [not-in-charge]() used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
    symbol _ZN7CAGuardD0Ev.eh used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
    ...

    But it still compiled. When trying to run what was compiled, I get a "Bus error (core dumped)". The crash report says

    Exception:  EXC_BAD_ACCESS (0x0001)
    Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000a40

    From an apple website, this is, "the exception was caused by a memory access instruction (in terms of C, this means that you're dereferencing an invalid pointer)." Looks like libGL.dylib is the culprit right now. :P elconfig.c uses change_projection_float to call resize_root_window in gl_init.c, which in turn causes a fault with glMatrixMode. So, maybe those gl errors point to something more serious?

    Thread 0 Crashed:
    0   libGL.dylib              	0x909156b4 glMatrixMode + 0x2c


  7. nope, unless you mean the bsdg makefile? i set that up for using gnu make on FreeBSD.

    Can prolly also use it on mac, as long as you are using the gnu tools i guess, Not sure how well that goes with cctools and associated environment.

    205059[/snapback]

    Well, the bsdg makefile was throwing a bunch of "ISO C needs a space in macros" or something like that.

    <command line>:11:3: warning: ISO C requires whitespace after the macro name

    I went back to the Makefile.linux. I am so close to getting it compiled. The frameworks seem to be behaving right now, but I am stuck with a "undefined" error, I think due to libraries being compiled with different compiler versions. That error was an undefined reference to ___gxx_personality_v0. Of course, I do not get it now. Now I have:

    ... books/symbols.o         cal3d_wrapper.o
    ld: asc.o illegal reference to symbol: _libiconv defined in indirectly referenced dynamic library /usr/lib/libiconv.2.dylib

    Sigh...more hunting.


  8. Yes, there IS need for the OSX client. If you get it to work, I am willing to give you a small monetary gift (maybe 100 USD or so).

    204383[/snapback]

    That is a very nice offer ... we will have to see if I actually get it working. But seeing as how this is a free game to start with, it just does not seem right to get paid. Maybe a nice sword or one of those special characters.

    Octane, If you have a suitable build environment, any chance i can get a copy of the pre-compiled libs, noteing the cctools version you are using, I might be able to set up a cross-compile for mac, on bsd.

    I have two Mac G5s with OS 10.3.9 at my disposal. (truthfully, they belong to my boss, but he is pretty cool about my distractions). I am attempting to compile with both Xcode and gnu compilers from fink. Looks like I have cctools-499-1 from fink. I am quite rusty, and my practical experience (outside of classes in college) was writing small fortran and c/c++ progs to convert data formats. I have Cal3d compiled myself. libxml, libvorbis, and some others are compiled by fink. I think I will have to compile OpenAL myself. I cannot seem to get the Creative OpenAL framework to work properly with my makefile. I hope only the OpenAL 1.0 is necessary.

     

    I had been trying to get things compiled with the Linux makefile, but the BSD version is probably a better option seeing as how OSX is built on it. Also, I am not sure in XCode if there is a place to set options like -DOSX. I wish I had more time to learn it. Is there a option flag I can throw to completely remove all sound/music? Is there a list of all the flags/options? Or is there a stripped down version of the client that I can build up from?


  9. (as an aside, if you haven't contacted any of the admin to let them know you're working on this, it's probably a good idea, since only devs or people otherwise with permission are allowed to use anything besides current CVS or releases. I strongly doubt there would be any objections to changes for porting, but better if you tell them in advance. if you have, please ignore :D )

    204273[/snapback]

    Anyone in particular I should talk to?

  10. I have been working on a port of the latest EL to Mac OSX. The previous person working on this, Corun I think, is incommunicado. While I have been encountering many difficulties, I am making slow progress.

     

    My question is, how much interest is there in a Mac OS X client? Would anyone else use it? Am I wasting my time? Is there anyone intersted in helping me?

     

    Sorry to the forum managers (as this sorta repeats two other threads) but this board is not too active. Maybe this should be in a non-programming section.


  11. Made some progress (I think).

    For anyone attempting this, remember to do a "grep OSX *" to find all the places where specific OSX flags need to be turned on. You need to get the latest glext.h from sgi. make a symbolic link to malloc.h so that it can be found in your path.

     

    So, using a new iMac G5 (10.3.9), I installed the frameworks necessary (SDL, SDL-dev, SDL_net, OpenAL) and fink. Created a SDL OpenGL application in Xcode. Had to add a lot of directories to the "Header Search Paths" in the Project Inspector. Anyhow, I am getting stuck with parse errors in translate.c/h. I had to add "#define ELC" to the files since I am not sure how to pass #defines down from main in Xcode.

     

    I currently have a bunch of "passing arg 2 of 'glDeleteTextures' from incompatible pointer type' warnings, three unused variables (loop, queued, processed) in sound.c, unsigned int format GLenum warnings in particles.c, and an implicit declaration of function 'startpaste' in gamewin.c.

     

    My showstopping errors are "multiple definitions of symbol _your_info" (and _pm_log and _attributes). A google search did not give me any good clues as to fixing this, although many people seem to have similar "multiple definition" issues. Would extern help?

     

    Any thoughts from the peanut gallery? :medieval:

     

     

    [edit]

     

    This thread is dead. EL works fine on Mac OS X now. Visit here for more information.


  12. maybe this link helps:

    OpenAl from developer.creative.com

    Nope. Not very informative. As I said, I already picked up that from Creative. I do not know how to use XCode, which might solve some issues. However, I (think I) learned how to pull in OpenAL. In the LDFLAGS I added "-framework OpenAL". This of course caused its own problems, since now I get

    ld: warning multiple definitions of symbol CAGuard::Wait()
    /Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::Wait()
    /sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::Wait()

    for multiple CAGuard items followed by:

    ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
    symbol CAGuard::~CAGuard [not-in-charge]() used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
    ...
    ld: Undefined symbols:
    std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_empty_rep_storage
    std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)
    std::ios_base::Init::Init[in-charge]()
    std::ios_base::Init::~Init [in-charge]()
    ___gxx_personality_v0
    make: *** [el.x86.linux.bin] Error 1

    So my Framework is now fighting with fink libraries.

     

    I tried playing around with XCode. It hurt my brain. I was getting unresolved symbol _SDL_main problems. I might get around that problem by creating the project as a SDL OpenGL Application (obtained with SDL-devel-1.2.9), but so far have run into many other SDL problems doing so.


  13. I started playing with porting to OS X 10.3.9 yesterday using the latest cvs. Here is a list of my progress and problems, starting with the Makefile.linux. First off, I have fink installed, but fink does not include a lot of necessary distributions. I picked up the OpenAL framework from Creative, but I cannot figure it out. Therefore, I removed -lopenal from the LDFLAGS.

    books/parser.c is looking for ../error.h, which should be ../errors.h

    I was getting a CarbonSound.h not found error, possibly because I had to downgrade back to Quicktime 6 for my Pro license to be valid. Anyhow, I had to place #define __CARBONSOUND__ in the OSX section of global.h.

    rules.c cannot find malloc.h, so I pointed it to the one found in /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/malloc.h

    Cal3d was obtained from sourceforge, but the Cal3d header files for some reason look for eachother in cal3d/*... creating a weird recursion. So I went through the files and made them local references. Not sure if this is the right thing to do, but hey.... I also had to edit the cal3d_wrapper.* files to point to my cal3d directory.

     

    As you can see, I am mostly hacking my way through this as I am not too familiar with the Os X way of doing things (and it has been 8 years since I took a programming class). Well, everything currently compiles up to cal3d_wrapper.o at which point I get:

    ld: Undefined symbols:
    _alBufferData
    _alDeleteBuffers
    ...
    CalCoreMesh::scale(float)
    CalCoreSkeleton::scale(float)
    ...
    std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(unsigned long, char)
    make: *** [el.x86.linux.bin] Error 1

     

    Anyone have ideas on what is causing this? Do I have to precompile cal3d to get a libcal3d.a? I was trying to read through the cal3d specific thread, but much of that information is a few months old.

×