Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI-Nspire => Topic started by: njaddison on August 03, 2012, 04:33:32 pm
-
After analyzing the source code of Duke Nukem 3D, I ran across a few problems.
The source files were C, and there were some Header files, and a few makefiles too.
Here is the error log i got trying to compile the game into an .exe file:
Compiling: C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:32:18: error: bios.h: No such file or directory
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:37,
from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\pragmas.h:1958:26: warning: backslash-newline at end of file
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:29:
C:\Users\TAddison\Downloads\duke3dsource\source\scriplib.h:193: error: expected ',' or '...' before 'bool'
C:\Users\TAddison\Downloads\duke3dsource\source\scriplib.h:331: error: two or more data types in declaration of 'parameter'
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:29,
from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
c:\program files\codeblocks\mingw\bin\../lib/gcc/mingw32/4.4.1/../../../../include/stdlib.h:71: error: conflicting declaration 'int _argc'
C:\Users\TAddison\Downloads\duke3dsource\source\util_lib.h:42: error: '_argc' has a previous declaration as 'int32 _argc'
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:85,
from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\music.h:85: error: expected ',' or '...' before '(' token
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:89,
from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\funct.h:413: error: '::main' must return 'int'
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:271: error: a storage class can only be specified for objects and functions
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:309: warning: 'typedef' was ignored in this declaration
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:315: warning: 'typedef' was ignored in this declaration
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:375: warning: 'typedef' was ignored in this declaration
C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:430: warning: 'typedef' was ignored in this declaration
In file included from C:\Users\TAddison\Downloads\duke3dsource\source\duke3d.h:467,
from C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:41:
C:\Users\TAddison\Downloads\duke3dsource\source\funct.h:413: error: '::main' must return 'int'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:86: error: expected initializer before '__far'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void inittimer()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:113: error: invalid conversion from 'void (*)()' to 'void (*)(task*)'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:113: error: initializing argument 1 of 'task* TS_ScheduleTask(void (*)(task*), int, int, void*)'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'int gametext(int, int, char*, char, short int)':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:161: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'int gametextpal(int, int, char*, char, char)':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:209: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'int gametextpart(int, int, char*, char, short int)':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:261: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:265: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'int minitext(int, int, char*, char, char)':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:286: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'int minitextshade(int, int, char*, char, char, char)':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:304: error: 'rotatesprite' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void allowtimetocorrecterrorswhenquitting()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:339: error: 'sendpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: At global scope:
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:349: error: ISO C++ forbids declaration of 'adduserquote' with no type
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void getpackets()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:374: warning: deprecated conversion from string constant to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:378: error: 'getpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:420: error: 'copybufbyte' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:449: error: 'copybufbyte' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:462: error: 'copybufbyte' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:488: error: invalid conversion from 'unsigned char*' to 'const char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:488: error: initializing argument 2 of 'char* strcpy(char*, const char*)'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:525: warning: deprecated conversion from string constant to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:625: warning: deprecated conversion from string constant to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void faketimerhandler()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:640: warning: deprecated conversion from string constant to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:646: error: 'getoutputcirclesize' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:662: error: 'copybufbyte' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:682: error: 'computergetinput' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:692: error: 'min' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:693: error: 'max' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:715: error: 'klabs' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:716: error: 'ksgn' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:725: error: 'max' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:725: error: 'min' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:772: error: 'sendpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:782: error: 'klabs' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:783: error: 'ksgn' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:831: error: 'sendpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:841: error: 'sendpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:861: error: 'max' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:861: error: 'min' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:913: error: 'sendpacket' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void caches()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:934: error: invalid conversion from 'unsigned char*' to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:934: error: initializing argument 1 of 'int sprintf(char*, const char*, ...)'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:935: error: 'printext256' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:943: error: invalid conversion from 'unsigned char*' to 'char*'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:943: error: initializing argument 1 of 'int sprintf(char*, const char*, ...)'
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:944: error: 'printext256' was not declared in this scope
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C: In function 'void checksync()':
C:\Users\TAddison\Downloads\duke3dsource\source\GAME.C:976: error: 'printext256' was not declared in this scope
Process terminated with status 1 (0 minutes, 24 seconds)
50 errors, 9 warnings
And, I don't know how to map to the nspire's keys anyway, or to the screen. And the DUKE3D.GRP is too large to fit on my nspire. By the way, this is the source code for the Atomic Edition of Duke Nukem 3D.
I got the source from 3d realms website. Here is the link:
ftp://ftp.3drealms.com/source/duke3dsource.zip (http://ftp://ftp.3drealms.com/source/duke3dsource.zip)
I really need help.
Hoffa created nSDL for nspire. But, I couldn't find the sdl source code for duke nukem. I am hoping that one day a direct port of Duke Nukem 3D to the Nspire will be possible.
If anyone can find the sdl source code, can you upload it to this topic?
-
there is a version on this website written for SDL I've been working on porting to prizm.
http://icculus.org/
EDIT actually looking into it a little more prizm doesnt have enough ram to run that version
if the nspire has at least 2746kb of ram it should work though
-
Did you see this btw ?
It's a total conversion of Duke Nukem 3D episode 1 level 1 for the Doom engine.
-
Shouldn't this be located in the C language help section of the forums? Being inside projects seems a bit misleading.
That said I would really like a port of the real Duke Nukem 3D. There's the Doom port of Duke Nukem 3D, but it doesn't run on my calc and it's not the real game. :(
-
The source located at ftp://ftp.3drealms.com/source/duke3dsource.zip won't be easy to port as it includes some assembly.
-
Well, would the sdl version be easy to port?
-
Well, would the sdl version be easy to port?
It would certainly be easier to port then assembly, but it still would require quite some work I think.
-
Here is the sdl source code for duke3d. Where can I find hoffa's nsdl library?
-
theres an nSDL topic and if you dont find that try github.com/hoffa/nSDL though thats just my guess