Eponasoft
Member

Posts: 452
Registered: 07-09 |
OK, thanks, this should help a bit. No makefile included and the filenames are first-letter capitalized but none of that's a problem at all. This should not be hard to work with.
EDIT: I'm attempting to build this port now...so far so good, I've run into a few problems along the way but nothing too serious. This is the latest:
code: p_floor.c:913: error: conflicting types for 'EV_DoElevator'
p_spec.h:888: error: previous declaration of 'EV_DoElevator' was here
*** Error code 1
p_floor.c seems to have the correct declaration; p_spec.h appears to be wrong. Modifying p_spec.h allows the build to continue up until p_mobj.c, where yet another error has taken place. The editing continues...
EDIT2: All of the files eventually compiled to object code...but now, none of them will link. The screen becomes littered with undefined references. It's likely an issue with my makefile, which I will eventually solve.
EDIT3: I have solved pretty much all of them by making sure to also include other C files that were not part of the original set of sources. However, I have now run into another problem, and it seems to be Microsoft-specific...strnicmp, stricmp, and strlwr. strlwr seems to be similar to tolower, and the others are string comparison functions. I just have to redefine them, I guess...
EDIT4: I was able to redefine strnicmp and stricmp to alternate functions...still working on strlwr though. :) And I forgot yet another source...version.c, which is just a tiny little thing but enough to cause yet another compilation headache.
EDIT5: After a long search on google and IRC, I finally found all I needed to get the source to fully build and produce a binary. Of course, when it went to run, I got this:
code: Could not find config variable "friend_distance"
which automatically made it terminate...kind of silly imo. Oh well...I'll keep messing with it.
EDIT6: I modified the source to skip over config options it could not find by changing I_Error to printf on line 3668 of m_menu.c. After building it again, the program started up. Of course, it then proceeded to crash immediately as soon as the window popped up. Woot...
code: Looking in .
IWAD found: ./doom.wad
DOOM Registered version
DOOM Registered Startup v2.03
Built on Aug 31 2009
M_LoadDefaults: Load system defaults.
V_Init: allocate screens.
W_Init: Init WADfiles.
adding ./doom.wad
M_Init: Init miscellaneous info.
Could not find config variable "friend_distance"
R_Init: Init DOOM refresh daemon - [ ................. ]
R_InitData
R_InitPlanes
R_InitLightTables
R_InitSkyMap
R_InitTranslationsTables
P_Init: Init Playloop state.
I_Init: Setting up machine state.
I_InitSound:
Configured audio device with 512 samples/slice.
I_InitMusic: Using SDL_mixer.
D_CheckNetGame: Checking network game status.
startskill 2 deathmatch: 0 startmap: 1 startepisode: 1
player 1 of 1 (1 nodes)
S_Init: Setting up sound.
S_Init: default sfx volume 8
HU_Init: Setting up heads up display.
ST_Init: Init status bar.
Segmentation fault (core dumped)
EDIT7: I have isolated the source of the crash; function TryRunTics() is the culprit. Now to dissect that function to find the specific line of code responsible...
EDIT8: I have traced it back to this line exactly:
code: while (lowtic < gametic/ticdup + counts)
which indicates that there is a division error here. How odd...
EDIT9: I tested the variables right before the loop, and here was the result:
code: lowtic 5 - gametic 0 - ticdup 1 - counts 5
Setting gametic to 1 if it was at 0 had no effect on the outcome...it still crashes. :(
Last edited by Eponasoft on 08-31-09 at 07:30
|