I think I'm finally getting this thing working!

I just wanted to say thank you all for your help!




>________________________________
> From: Harley Laue <losinggenerat...@gmail.com>
>To: ""Yasir I. Al-Dosary - zgzg2020™"" <yasiraldos...@yahoo.com> 
>Cc: Primary ioquake3 Discussion/Development list <ioquake3@lists.ioquake.org> 
>Sent: Tuesday, June 19, 2012 10:37 PM
>Subject: Re: [ioquake3] Programming question
> 
>On 06/19/2012 02:30 AM, Yasir I. Al-Dosary - zgzg2020™ wrote:
>> Thank you for kindly answering my questions!
>>
>> >If you need them and don't care about compatibility with ioquake why not
>> >modify the exported functions to game?
>> I'm exactly just that right now. I've given up on using time.h.
>> So, I found trap_AAS_Time(). And, I'm moving to it.
>> However, I also need to write to files. I tried to add stdio.h. But, I 
>> got the same problem as when I add time.h
>> Does ioquake3 offer File I/O capabilities as well?
>>
>Pretty sure what you want is in game/g_local.h
>int trap_FS_FOpenFile( const char *qpath, fileHandle_t *f, fsMode_t mode );
>void trap_FS_Read( void *buffer, int len, fileHandle_t f );
>void trap_FS_Write( const void *buffer, int len, fileHandle_t f );
>void trap_FS_FCloseFile( fileHandle_t f );
>int trap_FS_GetFileList( const char *path, const char *extension, char 
>*listbuf, int bufsize );
>int trap_FS_Seek( fileHandle_t f, long offset, int origin ); // fsOrigin_t
>
>> Best regards!
>>
>>     ------------------------------------------------------------------------
>>     *From:* Harley Laue <losinggenerat...@gmail.com>
>>     *To:* Yasir I. Al-Dosary - zgzg2020™ <yasiraldos...@yahoo.com>;
>>     Primary ioquake3 Discussion/Development list
>>     <ioquake3@lists.ioquake.org>
>>     *Sent:* Tuesday, June 19, 2012 3:46 PM
>>     *Subject:* Re: [ioquake3] Programming question
>>
>>     On Monday, June 18, 2012 10:45:16 PM Yasir I. Al-Dosary -
>>     zgzg2020™ wrote:
>>     > Thanks for the reply again!
>>     > When I compile with "BUILD_GAME_SO=1 and BUILD_GAME_QVM=0" qvms
>>     don't get
>>     > built, which I'm guessing is the point of the second option. The
>>     > compilation completes without any errors.
>>     >
>>     > However when I run the Game:
>>     > ./ioq3ded.ppc64 +set fs_game Mod +set sv_pure 0 +set vm_game 0
>>     +set vm_cgame
>>     > 0 +set vm_ui 0 +set dedicated 1 +exec something_112_respwn.cfg
>>     >
>>     > The Game crashes right away. I placed the log at the end of this
>>     email.
>>     >
>>     > I have several questions that I would really like some help with.
>>     > Regarding LCC compiler you kindly mentioned before:
>>     > * I couldn't find a version of it on linux. How is it being used
>>     on linux
>>     > when it is a Windows-only compiler? * If LCC compiler is
>>     available on
>>     > Linux, where can I download it? Because I am thinking maybe the LCC
>>     > compiler settings might have a problem.
>>
>>     See code/tools/lcc
>>
>>     >
>>     > Regarding the compilation of QVM files:
>>     > * I have noticed from the compilation log that they are compiled
>>     as C++
>>     > files, and C files: cpp: code/game/ai_main.c:2712 Could not find
>>     include
>>     > file <sys/time.h> make[2]: ***
>>     > [build/release-linux-ppc64/baseq3/game/ai_main.asm] Error 1 Why
>>     is that?
>>
>>     CPP == C Pre-Processor in this case if I'm not mistaken.
>>
>>     > In qcommon/q_shared.h, I've also written in below:
>>     > * What does this quote mean?
>>     > * time.h is included inside q_shared.h, and q_shared.h is
>>     included inside
>>     > ai_main.c. Therefore, shouldn't this allow me to use the time
>>     library?
>>     >
>>     > ioquake3 general questions:
>>     > The main reason I need to solve this current problem is the
>>     following. I
>>     > need a high precision time measuring tool, such as time.h. I am sure
>>     > ioquake3 requires such tools as well, to regulate frames...etc.
>>     * Is there
>>     > a time tool I can use inside ioquake3 without the need to add
>>     something new
>>     > from the outside such as time.h?
>>
>>     If you need them and don't care about compatibility with ioquake
>>     why not
>>     modify the exported functions to game?
>>
>>
>>     As for below:
>>     > Sys_LoadDll(./Mod/qagameppc.so) failed:
>>     > "./Mod/qagameppc.so: undefined symbol: Com_Quit_f"
>>     Would be where I would start investigating.
>>
>>     > I really appreciate this! I really need to be able to use the
>>     time library
>>     > inside ai_main.c very badly.
>>     >
>>     > --------------Q_SHARED.H
>>     >
>>     /**********************************************************************
>>     >  VM Considerations
>>     >  The VM can not use the standard system headers because we
>>     aren't really
>>     >  using the compiler they were meant for.  We use bg_lib.h which
>>     contains
>>     >  prototypes for the functions we define for our own use in bg_lib.c.
>>     >  When writing mods, please add needed headers HERE, do not start
>>     including
>>     >  stuff like <stdio.h> in the various .c files that make up each
>>     of the VMs
>>     >  since you will be including system headers files can will have
>>     issues.
>>     >  Remember, if you use a C library function that is not defined
>>     in bg_lib.c,
>>     > you will have to add your own version for support in the VM.
>>     >
>>     **********************************************************************/
>>     > #ifdef Q3_VM
>>     > #include "../game/bg_lib.h"
>>     > typedef int intptr_t;
>>     > #else
>>     > //#include <assert.h>
>>     > #include <math.h>
>>     > #include <stdio.h>
>>     > #include <stdarg.h>
>>     > #include <string.h>
>>     > #include <stdlib.h>
>>     > #include <time.h>
>>     > #include <ctype.h>
>>     > #include <limits.h>
>>     > --------------Q_SHARED.H
>>     >
>>     >
>>     >
>>     >
>>     > --------------RUNNING THE GAME WITH BUILD_GAME_SO=1 and
>>     BUILD_GAME_QVM=0
>>     > ----------------------
>>     >
>>     
>>rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/Best201202231123_True_final/ioqua
>>     > ke3dev_clean/build/release-linux-ppc64[10075]% ./ioq3ded.ppc64
>>     +set fs_game
>>     > Mod +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0 +set
>>     > dedicated 1 +exec something_112_respwn.cfg ioq3 linux-ppc Jun 19
>>     2012
>>     > ----- FS_Startup -----
>>     > Current search path:
>>     > /home7/yasir/.q3a/Mod
>>     > ./Mod
>>     > /home7/yasir/.q3a/baseq3
>>     > ./baseq3/pak8.pk3 (9 files)
>>     > ./baseq3/pak7.pk3 (4 files)
>>     > ./baseq3/pak6.pk3 (64 files)
>>     > ./baseq3/pak5.pk3 (7 files)
>>     > ./baseq3/pak4.pk3 (272 files)
>>     > ./baseq3/pak3.pk3 (4 files)
>>     > ./baseq3/pak2.pk3 (148 files)
>>     > ./baseq3/pak1.pk3 (26 files)
>>     > ./baseq3/pak0.pk3 (3539 files)
>>     > ./baseq3
>>     >
>>     > ----------------------
>>     > 4073 files in pk3 files
>>     > execing default.cfg
>>     > execing q3config_server.cfg
>>     > execing autoexec.cfg
>>     > Hunk_Clear: reset the hunk ok
>>     > Altivec support is disabled
>>     > --- Common Initialization Complete ---
>>     > IP: 127.0.0.1
>>     > IP: 133.9.80.16
>>     > IP6: ::1
>>     > IP6: fe80::20d:60ff:fe4d:c88a%eth0
>>     > Opening IP socket:
>>     > 0.0.0.0:27960
>>     > execing
>>     > something_112_respwn.cfg ------ Server Initialization ------
>>     > Server: q3dm1
>>     > Hunk_Clear: reset the hunk ok
>>     > ----- FS_Startup -----
>>     > Current search path:
>>     > /home7/yasir/.q3a/Mod
>>     > ./Mod
>>     > /home7/yasir/.q3a/baseq3
>>     > ./baseq3/pak8.pk3 (9 files)
>>     > ./baseq3/pak7.pk3 (4 files)
>>     > ./baseq3/pak6.pk3 (64 files)
>>     > ./baseq3/pak5.pk3 (7 files)
>>     > ./baseq3/pak4.pk3 (272 files)
>>     > ./baseq3/pak3.pk3 (4 files)
>>     > ./baseq3/pak2.pk3 (148 files)
>>     > ./baseq3/pak1.pk3 (26 files)
>>     > ./baseq3/pak0.pk3 (3539 files)
>>     > ./baseq3
>>     >
>>     > ----------------------
>>     > 8146 files in pk3 files
>>     > Loading dll file qagame.
>>     >
>>     
>>Sys_LoadDll(/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/Best20120223112
>>     >
>>     
>>3_True_final/ioquake3dev_clean/build/release-linux-ppc64/Mod/qagameppc.so)..
>>     > .
>>     >
>>     
>>Sys_LoadDll(/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/Best2012022311
>>     >
>>     
>>23_True_final/ioquake3dev_clean/build/release-linux-ppc64/Mod/qagameppc.so)
>>     > failed:
>>     >
>>     
>>"/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/Best201202231123_True_fin
>>     > al/ioquake3dev_clean/build/release-linux-ppc64/Mod/qagameppc.so:
>>     undefined
>>     > symbol: Com_Quit_f"
>>     Sys_LoadDll(/home7/yasir/.q3a/Mod/qagameppc.so)...
>>     > Sys_LoadDll(/home7/yasir/.q3a/Mod/qagameppc.so) failed:
>>     > "/home7/yasir/.q3a/Mod/qagameppc.so: cannot open shared object
>>     file: No such
>>     > file or directory" Sys_LoadDll(./Mod/qagameppc.so)...
>>     > Sys_LoadDll(./Mod/qagameppc.so) failed:
>>     > "./Mod/qagameppc.so: undefined symbol: Com_Quit_f"
>>     > Sys_LoadDll(qagame) failed to load library
>>     > Failed to load dll, looking for qvm.
>>     > Loading vm file vm/qagame.qvm...
>>     > VM file qagame compiled to 820564 bytes of code (0xf1ac8000 -
>>     0xf1b90554)
>>     > compilation took 0.090661 seconds
>>     > qagame loaded in 2683840 bytes on the hunk
>>     > ------- Game Initialization -------
>>     > gamename: baseq3
>>     > gamedate: Sep 30 2002
>>     > ------------------------------------------------------------
>>     > InitGame:
>>     >
>>     
>>\capturelimit\8\g_maxGameClients\0\sv_floodProtect\1\sv_maxPing\0\sv_minPin
>>     >
>>     
>>g\0\sv_maxRate\0\sv_minRate\0\sv_maxclients\112\sv_hostname\noname\timelimit
>>     > \0\fraglimit\20\dmflags\0\version\ioq3  linux-ppc Jun 19
>>     >
>>     
>>2012\g_gametype\0\protocol\68\mapname\q3dm1\sv_privateClients\0\sv_allowDow
>>     > nload\0\gamename\baseq3\g_needpass\0 0 teams with 0 entities
>>     > 12 items registered
>>     > -----------------------------------
>>     > ------- BotLib Initialization -------
>>     > loaded weapons.c
>>     > loaded items.c
>>     > loaded syn.c
>>     > loaded rnd.c
>>     > loaded match.c
>>     > loaded rchat.c
>>     > ------------ Map Loading ------------
>>     > trying to load maps/q3dm1.aas
>>     > loaded maps/q3dm1.aas
>>     > found 18 level items
>>     > -------------------------------------
>>     > 32 bots parsed
>>     > 35 arenas parsed
>>     > ********************
>>     > ERROR: Cvar_Update: handle out of range
>>     > ********************
>>     > ----- Server Shutdown (Server crashed: Cvar_Update: handle out
>>     of range)
>>     > ----- ==== ShutdownGame ====
>>     > ShutdownGame:
>>     > ------------------------------------------------------------
>>     > AAS shutdown.
>>     > recursive error after: Cvar_Update: handle out of range
>>     > ------------------
>>     >
>>     > >________________________________
>>     > >
>>     > > From: Ben Noordhuis <i...@bnoordhuis.nl
>>     <mailto:i...@bnoordhuis.nl>>
>>     > >
>>     > >To: Yasir I. Al-Dosary - zgzg2020™ <yasiraldos...@yahoo.com
>>     <mailto:yasiraldos...@yahoo.com>>
>>     > >Cc: Primary ioquake3 Discussion/Development list
>>     > ><ioquake3@lists.ioquake.org
>>     <mailto:ioquake3@lists.ioquake.org>> Sent: Monday, June 18, 2012
>>     9:47 PM
>>     > >Subject: Re: [ioquake3] Programming question
>>     > >
>>     > >On Mon, Jun 18, 2012 at 8:46 AM, Yasir I. Al-Dosary - zgzg2020™
>>     > >
>>     > ><yasiraldos...@yahoo.com <mailto:yasiraldos...@yahoo.com>> wrote:
>>     > >> Thank you for the quick response!
>>     > >>
>>     > >> "The files in game/ and cgame/ don't have access to system
>>     headers.
>>     > >> They're compiled to bytecode with the bundled lcc."
>>     > >>
>>     > >> Ok! So, what can I do to make it work? (or what shall I ask
>>     my admin to
>>     > >> do?)>
>>     > >Try compiling to native shared objects.
>>     > >
>>     > >Off the top of my head, set BUILD_GAME_SO=1 and BUILD_GAME_QVM=0 in
>>     > >your Makefile.local and run the game with `+set vm_game 0 +set
>>     > >vm_cgame 0 +set vm_ui 0` (you may have to add `+set sv_pure 0` as
>>     > >well.)
>>
>>
>
>
>
>
>
_______________________________________________
ioquake3 mailing list
ioquake3@lists.ioquake.org
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.

Reply via email to