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?

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>
>> >
>> >To: Yasir I. Al-Dosary - zgzg2020™ <yasiraldos...@yahoo.com>
>> >Cc: Primary ioquake3 Discussion/Development list
>> ><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> 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