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.