Title: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on January 30, 2013, 11:44:44 pm I've been working on porting the Netmelee Improvement Mod (http://wiki.uqm.stack.nl/User:Shiver/Balance_Mod) to the HD Mod codebase. Unfortunately, I've run into a snag - the Windows executables I've built with my cross compiler have exhibited strange bugs, and I don't have access to any other compilers for further testing (or any knowledge of Windows development for debugging). If someone out there could build this code for Windows, preferably with MSVC, and post it for testing, I'd be greatly appreciative. :) (The code is incidentally known to build and run on Linux just fine, I have no idea if/how well it works on OSX.)
https://github.com/oldlaptop/Hires-Shiver-Balance-Mod Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Defender on January 31, 2013, 01:29:58 am very interested in this.
this is what i get... src/uqm/restart.c:83: error: `resFactorWasChanged' undeclared (first use in this function) src/uqm/restart.c:83: error: (Each undeclared identifier is reported only once src/uqm/restart.c:83: error: for each function it appears in.) src/uqm/restart.c: In function `DoRestart': src/uqm/restart.c:192: error: `resFactorWasChanged' undeclared (first use in this function) make: *** [obj/release/src/uqm/restart.c.o] Error 1 Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: superbutcherx on January 31, 2013, 11:25:31 am very interested in this. this is what i get... src/uqm/restart.c:83: error: `resFactorWasChanged' undeclared (first use in this function) src/uqm/restart.c:83: error: (Each undeclared identifier is reported only once src/uqm/restart.c:83: error: for each function it appears in.) src/uqm/restart.c: In function `DoRestart': src/uqm/restart.c:192: error: `resFactorWasChanged' undeclared (first use in this function) make: *** [obj/release/src/uqm/restart.c.o] Error 1 That might be the same as the issue fixed in r972 (http://code.google.com/p/uqm-hd/source/detail?r=972): Try including "options.h" in restart.c. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on January 31, 2013, 10:00:46 pm That might be the same as the issue fixed in r972 (http://code.google.com/p/uqm-hd/source/detail?r=972): Try including "options.h" in restart.c. Yes, I found (https://github.com/oldlaptop/Hires-Shiver-Balance-Mod/commit/6578f6556b87ed22cd44d224d26d935c9bbb8525) that out the hard(er) way ;) Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Defender on February 01, 2013, 01:33:04 am i have that same problem we talked about. the melee graphics are messed up.
Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 01, 2013, 08:07:48 am Sorry been really busy this week, I'll give it a try compiling Monday. Darn zlib...
An encouraging statement at the top of zlib.h: /* various hacks, don't look :) */ Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 04, 2013, 10:46:47 pm I have a Project 6014 Visual C 2010 uqmdebug.exe! Miracles can happen, although the source I started with was missing functions, so I worked around them for the moment. I compiled it with static libraries since I'm not sure why dll's would be used when I believe they are never shared on the installs, and probably wouldn't want to anyway. Given that the .exe is 3 megabytes in size, can't possibly be an issue with disk space!
Now I'm trying your guys codeline... Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 04, 2013, 11:51:47 pm A few compile errors so far:
error C2275: 'FRAME' : illegal use of this type as an expression C:\...\sc2\sc balance mod\src\uqm\tactrans.c line 388 col 1 error description: 'identifier' : illegal use of this type as an expression An expression uses the -> operator with a typedef identifier. The following sample generates C2275: View ColorizedCopy to ClipboardPrint// C2275.cpp typedef struct S { int mem; } *S_t; void func1( int *parm ); void func2() { func1( &S_t->mem ); // C2275, S_t is a typedef } error C2275: 'PRIMITIVE' : illegal use of this type as an expression C:\...\sc2\sc balance mod\src\uqm\tactrans.c line 725 col 1 error desc: (same as above) IntelliSense: a value of type "void *" cannot be assigned to an entity of type "STARSHIP *" c:\...\sc2\sc balance mod\src\uqm\tactrans.c line 307, 357, 711, 741 col 2, 4, 2, 4 error desc: none available Hope this helps. If you have suggestions for changes I'll try them. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on February 05, 2013, 12:43:15 am MSVC may be irritated that the variable declarations it's complaining about (in the C2275 errors) don't occur right at the top of their respective blocks, you could try putting them there. If that fixes the errors for you I'll change them in git.
Intellisense would seem to be complaining about a macro used throughout UQM source, I'd be willing to bet it says that about most files in vanilla UQM too. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Elestan on February 05, 2013, 04:22:14 pm IntelliSense: a value of type "void *" cannot be assigned to an entity of type "STARSHIP *" c:\...\sc2\sc balance mod\src\uqm\tactrans.c line 307, 357, 711, 741 col 2, 4, 2, 4 MSVC may be irritated that the variable declarations it's complaining about (in the C2275 errors) don't occur right at the top of their respective blocks, you could try putting them there. If that fixes the errors for you I'll change them in git.Intellisense would seem to be complaining about a macro used throughout UQM source, I'd be willing to bet it says that about most files in vanilla UQM too. Yes. Intellisense is attempting to enforce the stricter C++ type conversion rules, which don't allow implicit conversion from a void pointer to a typed pointer. However, you're allowed to get away with it in C. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: onpon4 on February 05, 2013, 04:44:53 pm C++ and C aren't the same language. UQM's code is in C, not C++, so you ought to be using a C compiler.
Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Elestan on February 05, 2013, 04:56:55 pm C++ and C aren't the same language. UQM's code is in C, not C++, so you ought to be using a C compiler. VC++ does include a C compiler, but that error is from Intellisense, the realtime syntax checker, which only understands C++. I'd probably turn it off for C projects. There should be fewer of these warnings in the current SVN for core; I went through and cleaned up some (though far from all) of the C++/C incompatibilities a while ago. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 05, 2013, 10:57:07 pm I got rid of all the compile errors, but did it the hard way by moving some variable declarations to the tops of functions and explicit casting, the latter is a good idea anyway. I never understood why VC makes you put variables at the tops sometimes, I think it's been that way for a long time though, I just forgot about it. I did try to turn off C++ checks for at least the troublesome file but didn't seem to make a difference, but did find the turn off intellisense errors so it compiles w/o explicit casting.
Now I'm getting these 5 link errors, seem to be missing some functions: unresolved external symbol _init_talkpet_comm referenced in function _init_race C:\...\sc balance mod\build\msvc6\commglue.obj UrQuanMasters unresolved external symbol _generateZoqFotPikColony1Functions C:\...\sc balance mod\build\msvc6\gendef.obj UrQuanMasters unresolved external symbol _generateZoqFotPikColony0Functions C:\...\sc2\sc balance mod\build\msvc6\gendef.obj UrQuanMasters unresolved external symbol _generateZoqFotPikScoutFunctions C:\...\sc balance mod\build\msvc6\gendef.obj UrQuanMasters unresolved external symbol _generateTalkingPetFunctions C:\...\sc balance mod\build\msvc6\gendef.obj UrQuanMasters I think I've an incomplete build from your download link, Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on February 05, 2013, 11:15:09 pm Github provides automagically generated .zips of repositories:
https://github.com/oldlaptop/Hires-Shiver-Balance-Mod/archive/master.zip If that's what you're having problems with... gee, I guess you could try cloning the git repository and working from that. Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Elestan on February 06, 2013, 02:22:59 am I never understood why VC makes you put variables at the tops sometimes, I think it's been that way for a long time though, I just forgot about it. It does this for files that end in .c, because the C89 standard required it. Newer versions of C stopped requiring it, but VC still enforces the old rule.Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 06, 2013, 02:57:10 am Ok, had to add a number of files to the VC project that weren't in 6014 and got a successful build. I'll give it a run hopefully tonight.
BTW was it someones goal to have exactly 500 source files??? Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on February 06, 2013, 03:39:00 am Ok, had to add a number of files to the VC project that weren't in 6014 and got a successful build. I'll give it a run hopefully tonight. BTW was it someones goal to have exactly 500 source files??? Could you submit all changes to VC project files (and source code for that matter) you needed to make to build the game? (preferably in a Github pull request) Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 06, 2013, 06:43:37 pm Sure, let me get the release build environment going, figure out the minimum changes to make VC happy, and put things back to DLLs so it doesn't mess up your installs. Looks like Defender had this going too, but no luck figuring out the missing graphics bug?
How useful do you think it would be to temporarily distribute a debug compile version of this? I'm actually not sure what it might help with, and you'd have to ignore the EULA with Microsoft that you're not permitted to distribute the debug run time environment DLL... Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: oldlaptop on February 06, 2013, 10:18:48 pm I had intended a month ago to distribute a debug build for early testing (with the obvious disclaimer that it's still highly experimental), but the apparent problems with my cross compiler nipped that in the bud. By all means upload a debug build somewhere if you want, or a release build if that would have fewer legal problems.
Defender was using mingw, not MSVC. I don't think he ever got some things like zlib to work (and he apparently also encountered odd bugs?). He said on IRC he didn't see the problem with melee graphics, but apparently he has now? The main reason I'm looking for someone to test it under MSVC is to be absolutely certain that it's not a compiler-specific problem (mingw isn't quite sufficient, since it's highly similar to my cross compiler). If it is in fact *not* a compiler problem, I'm pretty powerless to fix it, since it has never occurred on my Linux systems (and I have very little knowledge of the nightmare that apparently is Windows development, and no ability to debug such things). Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: Defender on February 07, 2013, 01:39:59 am i was using the regular graphics and not the hd graphics on my first test go through. It didn't occur to me until later that you wanted the hd graphics tested. when i did then i noticed the a few odd things/bugs. i will test any windows builds you throw at me.
Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 09, 2013, 09:38:21 am Well at the moment it is crashing like crazy, think I've library version (at least) issues, I'll keep at it.
Title: Re: Hires Netmelee Improvement Mod: Help needed Post by: daddyo on February 17, 2013, 08:30:01 am Having a hard time finding time to work on this. I'll try more when I can but maybe someone else who's a Windows Guru might be able to help?
|