Thanks.
5 posters
Wolfenstein Never-Ending Coding Thread
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
- Post n°1
SDL Wolf3d with Cutscenes?
Can anyone refer me to a mod made in SDL (or non SDL, if that's allt here is) that has cutscene(s) in it?
Thanks.
Thanks.
Wolf3d Haven
Minute Logic Blog
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Hi! Due to the fact that throughout the whole process of making this game, I will have a lot of questions, I figured I could just ask them all in this thread.
So, the first question (too bad Wlhack is STILL MIA...)...
Compiling the SDL!
I followed Wlhack's little sticky, and all's well until I hit compile and run. Now, exactly what IS "compile and run"? Do I hit it when I am done coding and want it all to compile?
At any rate, I first clicked it, it said it missed some files, so I copied a few from Super Haven Mapset, and now it says "No Wolfenstein File to be Found!"... So, I'm asking myself, what's going on, and how do I start?
Question 1: What is "compile and run"?
Hopefully someone answers.
So, the first question (too bad Wlhack is STILL MIA...)...
Compiling the SDL!
I followed Wlhack's little sticky, and all's well until I hit compile and run. Now, exactly what IS "compile and run"? Do I hit it when I am done coding and want it all to compile?
At any rate, I first clicked it, it said it missed some files, so I copied a few from Super Haven Mapset, and now it says "No Wolfenstein File to be Found!"... So, I'm asking myself, what's going on, and how do I start?
Question 1: What is "compile and run"?
Hopefully someone answers.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Compile and run is exactly what it sounds like. Compile the source code and run your executable. Anyway, to address your problem -
Wolf4SDL uses pre-processor code (all of those #defines and #ifdefs) to find out what version to compile for. That code itself is only used by the compiler and tells it what C++ code to compile and not to compile. This is mainly used in lump counts in your data files in the case of compiling for Wolfenstein 3-D. If you head on over to the file version.h, you'll notice a list of #define's to choose from to compile for a certain version of the Wolfenstein 3-D executable. There are various Apogee versions and the iD/GT Interactive/Activition version, which have identical game files (more or less, identical enough for you not to worry about it code-wise). You need to find out who published your game files, are they the Apogee version? If so, uncomment ONE (make sure only one of the exe version #defines is defined at any one time) of the Apogee version defines and compile. Otherwise, uncomment the iD/GT/Activition one. The version.h file is very well commented/documented right there in the file, so just follow what you have in there.
Although I am assuming you have gotten past that point, I wanted to clarify that for you, because having mismatched exe's and game files can cause a lot of runtime errors. Since it is not finding your files (rather than telling you there are more or less lumps than there should be for that version of the exe), please make sure your files have the extension WL6. Wolf4SDL does not open just any game files in the directory, it open's WL1 (1 episode demo), WL3 (the original 3 episodes), WL6(all 6 episodes) or SOD(spear of destiny files) files depending on what you've compiled. If you want different extensions, you will have to change the code to reflect that. But to be honest, until you're ready to release, changing the extension shouldn't be a top priority, as you'll have an easier time just modifying WL6 files in your editors.
I hope this clarified any questions, and if you have any further questions about this or anything else, I can be contacted on MSN, which is listed in my profile.
Wolf4SDL uses pre-processor code (all of those #defines and #ifdefs) to find out what version to compile for. That code itself is only used by the compiler and tells it what C++ code to compile and not to compile. This is mainly used in lump counts in your data files in the case of compiling for Wolfenstein 3-D. If you head on over to the file version.h, you'll notice a list of #define's to choose from to compile for a certain version of the Wolfenstein 3-D executable. There are various Apogee versions and the iD/GT Interactive/Activition version, which have identical game files (more or less, identical enough for you not to worry about it code-wise). You need to find out who published your game files, are they the Apogee version? If so, uncomment ONE (make sure only one of the exe version #defines is defined at any one time) of the Apogee version defines and compile. Otherwise, uncomment the iD/GT/Activition one. The version.h file is very well commented/documented right there in the file, so just follow what you have in there.
Although I am assuming you have gotten past that point, I wanted to clarify that for you, because having mismatched exe's and game files can cause a lot of runtime errors. Since it is not finding your files (rather than telling you there are more or less lumps than there should be for that version of the exe), please make sure your files have the extension WL6. Wolf4SDL does not open just any game files in the directory, it open's WL1 (1 episode demo), WL3 (the original 3 episodes), WL6(all 6 episodes) or SOD(spear of destiny files) files depending on what you've compiled. If you want different extensions, you will have to change the code to reflect that. But to be honest, until you're ready to release, changing the extension shouldn't be a top priority, as you'll have an easier time just modifying WL6 files in your editors.
I hope this clarified any questions, and if you have any further questions about this or anything else, I can be contacted on MSN, which is listed in my profile.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Alright. I'll get some MSN up and working.
Most days, I'll be on during 4PM to 6PM pacific time. It varies, though.
Most days, I'll be on during 4PM to 6PM pacific time. It varies, though.
Wolf3d Haven
Minute Logic Blog
Tenamk- Seasoned Wolfer
Number of posts : 303
Age : 26
Location : In Gestapo headquarters
Job : Spy
Hobbie : Kick S.S.'s butt
Message : Youtube channel : https://www.youtube.com/user/PlayWolf3D
Registration date : 2010-09-24
Spear of Destiny ending?
Last edited by Tenamk on Wed Oct 13, 2010 7:49 am; edited 1 time in total (Reason for editing : :O)
I won the first forum raffle!
Dark_wizzie's signature: Nobody is perfect, I am nobody. Copier of my siggy will be severely pwned.
Tenamk says: Oh crap!
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Well does that really count? It was just a 5 second clip. :S Oh well...
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Well first of all, you need to be more specific. Are you looking for some kind of video? Or perhaps using in-game objects? Or like with the ending of SoD as Tenamk states?
I'll break down all 3:
Video -
This would be rather hard, as you would have int program in a video codec into SDL. This would also increase the size of your distribution exponentially
In-Game Objects
This would probably be even harder than putting in a video coded. To use in game objects you would have to script out every event in C++ or create some kind of script interpreter so you could script everything out in Lua or AngelScript or w/e. Currently I am working on this in an enhancement of SDL, and let me be the first to tell you, it is a major workload.
Images
The easiest and quickest to do. You can use the code for the end screens in SoD to make your cutscenes. Although they would be more like intermissions than cutscenes really.
To be blunt, what you're trying to do isn't even done in Doom sourceports. That should tell you something. Video support was removed in an early version of ZDoom, and there is no AI scripting (I mean like UnrealScript or something, I know there is DECORATE and ACS but that really doesn't compare). Your best bet is to have intermission texts like Resurrection. There is actually a tutorial for it on the Dome.
Hope this helps!
I'll break down all 3:
Video -
This would be rather hard, as you would have int program in a video codec into SDL. This would also increase the size of your distribution exponentially
In-Game Objects
This would probably be even harder than putting in a video coded. To use in game objects you would have to script out every event in C++ or create some kind of script interpreter so you could script everything out in Lua or AngelScript or w/e. Currently I am working on this in an enhancement of SDL, and let me be the first to tell you, it is a major workload.
Images
The easiest and quickest to do. You can use the code for the end screens in SoD to make your cutscenes. Although they would be more like intermissions than cutscenes really.
To be blunt, what you're trying to do isn't even done in Doom sourceports. That should tell you something. Video support was removed in an early version of ZDoom, and there is no AI scripting (I mean like UnrealScript or something, I know there is DECORATE and ACS but that really doesn't compare). Your best bet is to have intermission texts like Resurrection. There is actually a tutorial for it on the Dome.
Hope this helps!
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Thanks for the info, I'll keep that in mind.
Wolf3d Haven
Minute Logic Blog
Per-Scan- Seasoned Wolfer
- Number of posts : 385
Age : 51
Location : One year in the future
Registration date : 2010-09-29
Making cutscenes with images comic book style would really suit Wolf3D more than the other two options if you ask me (I know you didn't!!). So, to my mind, it's fortuitous that the easiest option would also be the most suitable... That is unless you have a particularly strong idea in your head...
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Per-Scan has a very good point. If you're looking for something more than just text and thumbnail size images, use the read this screen and/or the endart/intermission texts to put up an image at x:0 y:0.
Essentially just about anything is possible with the code, you can make it do whatever you want with varying amounts of elbow grease and time. However, practicality comes to mind. Do you really want to be spending that much time implementing one feature, when there are (in my opinion) better and easier alternatives? No mod that I know of has cut scenes. At least not the kind that comes to mind when you think of a cut scene. I say go with Per-Scan's advice. If you want to use in-game stuff, here is a simple method for you, although it still relies on images.
1. Set up a small scene in your favorite map editor. Two guard blabbing, or an officer or someone with a guard. Whatever comes to mind. Last, put in a player start.
2. Apply floor codes to the scene. But when you've done that, you are actually going to remove the floor code where the guards are so that they spawn inactive. This way you can move around for step 3 without activating them.
3. Run the game and go to the level containing your scene. If all goes well, the guards will be stationary and will not react unless you shoot. Now, position yourself so that you are at an angle you like and take a screenshot. Repeat this for every scene you have, how many ever times per scene you need.
4. Open up your favorite image editor and clean the place up. Get rid of the hud and any bits that don't need to be there. Ideally, you will use the space that was the hud as a letterbox for your scene's text.
That is about as close to using in game objects as you will get without implementing some form of scripting. It is easy enough and again you can just use the code that SoD uses to display its end images in between the levels you want.
Essentially just about anything is possible with the code, you can make it do whatever you want with varying amounts of elbow grease and time. However, practicality comes to mind. Do you really want to be spending that much time implementing one feature, when there are (in my opinion) better and easier alternatives? No mod that I know of has cut scenes. At least not the kind that comes to mind when you think of a cut scene. I say go with Per-Scan's advice. If you want to use in-game stuff, here is a simple method for you, although it still relies on images.
1. Set up a small scene in your favorite map editor. Two guard blabbing, or an officer or someone with a guard. Whatever comes to mind. Last, put in a player start.
2. Apply floor codes to the scene. But when you've done that, you are actually going to remove the floor code where the guards are so that they spawn inactive. This way you can move around for step 3 without activating them.
3. Run the game and go to the level containing your scene. If all goes well, the guards will be stationary and will not react unless you shoot. Now, position yourself so that you are at an angle you like and take a screenshot. Repeat this for every scene you have, how many ever times per scene you need.
4. Open up your favorite image editor and clean the place up. Get rid of the hud and any bits that don't need to be there. Ideally, you will use the space that was the hud as a letterbox for your scene's text.
That is about as close to using in game objects as you will get without implementing some form of scripting. It is easy enough and again you can just use the code that SoD uses to display its end images in between the levels you want.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
I guess for the most part, what I'll do is to have the cutscenes just be pictures with text. I gotta find someone to draw it, then. For just one cutscene, it'll actually play a pre-recorded video.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Well I did some fishing around in the SDL (just the library itself) and the SDL_mixer libraries. Actually playing a video would be relatively simple, especially if you Google an SMPEG wrapper. Soooo....
This is the func which handles the intermission and any form of the helpart/endart in wl_text.cpp:
(Wolf3d code taught me to really....REALLY hate preprocessor code)
This is what we really want to look at in that function!
I would make a good guess that replacing this little bit of code with some video loading code would get you your video. This particular thread at the SDL forums may interest you a great deal. But I will be really honest, plugging that code in may have some really, really unpredictable results, then again it may not. You may have timing and exit issues where the player will press escape and it go to the game, but the video is still playing. So disabling input while the video is playing will be an issue for you. But a well constructed while statement should solve that problem. Again it is really not an easy task, but if you do it, I am pretty sure you'd be the first.
This is the func which handles the intermission and any form of the helpart/endart in wl_text.cpp:
- Code:
void EndText (void)
{
int artnum;
char *text;
#ifndef ARTSEXTERN
memptr layout;
#endif
ClearMemory ();
#ifdef JAPAN
ShowArticle(gamestate.episode + 1);
VW_FadeOut();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
if (MousePresent && IN_IsInputGrabbed())
IN_CenterMouse(); // Clear accumulated mouse movement
FreeMusic ();
#else
#ifdef ARTSEXTERN
artnum = endextern+gamestate.episode;
CA_CacheGrChunk (artnum);
text = (char *)grsegs[artnum];
#else
endfilename[6] = '1'+gamestate.mapon;
CA_LoadFile (endfilename,&layout);
text = (char *)layout;
#endif
ShowArticle (text);
#ifdef ARTSEXTERN
UNCACHEGRCHUNK(artnum);
#else
free(layout);
#endif
VW_FadeOut();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
if (MousePresent && IN_IsInputGrabbed())
IN_CenterMouse(); // Clear accumulated mouse movement
FreeMusic ();
#endif
}
(Wolf3d code taught me to really....REALLY hate preprocessor code)
This is what we really want to look at in that function!
- Code:
endfilename[6] = '1'+gamestate.mapon;
CA_LoadFile (endfilename,&layout);
text = (char *)layout;
I would make a good guess that replacing this little bit of code with some video loading code would get you your video. This particular thread at the SDL forums may interest you a great deal. But I will be really honest, plugging that code in may have some really, really unpredictable results, then again it may not. You may have timing and exit issues where the player will press escape and it go to the game, but the video is still playing. So disabling input while the video is playing will be an issue for you. But a well constructed while statement should solve that problem. Again it is really not an easy task, but if you do it, I am pretty sure you'd be the first.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Okie dokies. I understand now. The compiler makes the exe, and you copy the exe from the directory and pop it into your folder with your mod in it. Right? Well, I better restart my process, since I've managed to change some settings that make the game crash. I think I know how to map on a largerl evel with WDC. I'll hopefuly sort it out all, today.
Wolf3d Haven
Minute Logic Blog
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Ok, so, Mr. Zin, do you happen to know what "binaries" are? I saw them on the download page for SDL source. Activision binaries...blah blah.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Dark_wizzie wrote:Okie dokies. I understand now. The compiler makes the exe, and you copy the exe from the directory and pop it into your folder with your mod in it. Right? Well, I better restart my process, since I've managed to change some settings that make the game crash. I think I know how to map on a largerl evel with WDC. I'll hopefuly sort it out all, today.
Ja, you take the EXE file from the Debug directory and put it with your mod. Although I recommend this setup for an easy to manage design flow. Put your base files in one directory for WDC to feed of off and set the WDC output directory to debug. That way you can use everything efficiently without having to have a million different directories open at once.
Binaries are a fancy collective term for executables and libraries. SDL.dll, SDL_mixer.dll and wolf3d.exe are all binaries. Although technically every file on your computer is a binary files when you get down to the nitty gritty, but that is neither here nor there.Dark_wizzie wrote:Ok, so, Mr. Zin, do you happen to know what "binaries" are? I saw them on the download page for SDL source. Activision binaries...blah blah.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Alritey, after I did what I thought was the correct thing to do in order to have larger maps, the game glitches. I edited #define mapshift 6 into 7, and compiled. On the WDC editor, the only way I saw to edit larger maps was to look at map details and manually edit the size of the map. I'm probably doing that wrong, as I think there is a specific function just for that... As I play the "larger" map, the player starts in a wall and can't move. Well, it just glitches.
Also, I tried editting the max static object in a level, and I compiled, yet it seems that the changes did not take effect. I am confuzzled.
Also, I tried editting the max static object in a level, and I compiled, yet it seems that the changes did not take effect. I am confuzzled.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Dark_wizzie wrote:Alritey, after I did what I thought was the correct thing to do in order to have larger maps, the game glitches. I edited #define mapshift 6 into 7, and compiled. On the WDC editor, the only way I saw to edit larger maps was to look at map details and manually edit the size of the map. I'm probably doing that wrong, as I think there is a specific function just for that... As I play the "larger" map, the player starts in a wall and can't move. Well, it just glitches.
Also, I tried editting the max static object in a level, and I compiled, yet it seems that the changes did not take effect. I am confuzzled.
You are correct as far as how to make the map bigger in WDC. But give this snippet a try:
- Code:
#define mapshift 7
#define MAPSIZE (1<<mapshift)
#define maparea MAPSIZE*MAPSIZE
#define mapheight MAPSIZE
#define mapwidth MAPSIZE
To get more objects, try
- Code:
#define MAXACTORS 250 // max number of nazis, etc / map
#define MAXSTATS 500 // max number of lamps, bonus, etc
Those SHOULD work. I just tested it myself in a room with 477 cieling lights without error. As for spawning in a wall, make SURE your map is 128x128 or that you dont have duplicate starting points.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Alrite, I think that's what I did, though. I'll take a closer look later today. Hopefully tommorrow I will emerge, victorious!
Although the process to allow more static objects is darn simple. One step, change the number to, say, 800. Coulda sworn that's what I did, though.
Although the process to allow more static objects is darn simple. One step, change the number to, say, 800. Coulda sworn that's what I did, though.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
You might also try changing the 'itemnumber' variable in the statobj_t struct in WL_DEF.H from byte to int as you're moving from an 8-bit value to a 16-bit value.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Alrite. I changed the max stats to something like 500. I also hit the "recompile all" button and then compiled it into exe. I think it works now. As for the 168 x 168 problem, that is sorta fixed. The levels ARE indeed, larger, but something glitchy happened to the graphics... oh god. BJ's arm as shown while wielding the pistol is now black... the water puddle is black... the faces of Nazi people are black! That's just odd. If you need picts, I can show you later.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
You might try running it in windowed mode if you're running it fullscreen, or visa versa if you're running it in windowed mode. If that doesnt help, I'll need some screenshots
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Wow that's...wow...
To be honest, it looks like a palette issue. His hands are all black but the gun isnt, jewels on the cross are black but other portions aren't. Same issue with the clip. If it were a bug in the code I'd figure entire sprites would be black (besides the puddle anyway). First of all, make sure your palette is in working order. If that checks out okay, list all of the things you've done to the source code to date and we'll go from there.
To be honest, it looks like a palette issue. His hands are all black but the gun isnt, jewels on the cross are black but other portions aren't. Same issue with the clip. If it were a bug in the code I'd figure entire sprites would be black (besides the puddle anyway). First of all, make sure your palette is in working order. If that checks out okay, list all of the things you've done to the source code to date and we'll go from there.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Tenamk- Seasoned Wolfer
Number of posts : 303
Age : 26
Location : In Gestapo headquarters
Job : Spy
Hobbie : Kick S.S.'s butt
Message : Youtube channel : https://www.youtube.com/user/PlayWolf3D
Registration date : 2010-09-24
Odd glitch
I won the first forum raffle!
Dark_wizzie's signature: Nobody is perfect, I am nobody. Copier of my siggy will be severely pwned.
Tenamk says: Oh crap!
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Maybe I should just try redoing everything. :\
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Don't give up just yet. More often than not, the solution is deceptively simple. Post the text of your wolfpal.inc file here so I can take a look at it . Your palette file may be corrupt or unintentionally edited. Files can be corrupted by something as simple as opening the file in a program that was not meant to read that kind of file. Some modern word processors (even WordPad) have a nasty nasty habbit of appending data somewhere when you open/save it. This can cause some odd bugs in your game.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
I fixed it! It is due to the "compile all" button on WDC, for some reason. What coding am I going to do next?
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
That's what I meant by deceptively simple lol. As far as what is next, I do recall you having a list, so go from there . Although off the top of my head, ammo/health walls come to mind, so do new weapons.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Let's not do that for now. I haven't fully thought out the weapons that will be involved. I'm going to try to chance the status bar for the game. Can't do it today, will do it tomorrow.
Wolf3d Haven
Minute Logic Blog
WolferCooker- Hardcore Wolfer
Number of posts : 1201
Age : 34
Location : Pennsylvania, U.S.A
Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
Registration date : 2010-09-24
Wizzie, I wouldn't make your own HUD (status bar). You'd most likely run into a lot of trouble. I like this status bar here taken from The Lost Relic. Dunno why, but it's my favorite one out of all the different status bars I've seen.
Either that or this unique HUD taken from Rising Evil 2.
Either that or this unique HUD taken from Rising Evil 2.
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
I actually think I might go with the more "standard" status bar from The Lost Relic. I just seem to like the design better.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Actually I still recommend making your own. It isn't THAT hard and you will be able to customize it more easily if need be. I could probably make one for you if you feel that unsure about it. Give me some criteria and I will see what I can whip up.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
I don't even know what I want for the status bar, to be honest. I think something like The Lost Relic would do. It looks like, from Wolfercooker's picture, that the status bar was for 2 keys. I'm pretty sure The Lost Relic has 4 keys, though. Maybe it just looks odd on that part. I was thinking of having the time shown on the upper right hand corner as text, and only on some scenarios. Then again, what am I going to put there to fill up the space?
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Well when you're 100% sure lemme know.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
WolferCooker- Hardcore Wolfer
Number of posts : 1201
Age : 34
Location : Pennsylvania, U.S.A
Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
Registration date : 2010-09-24
Wizzie, that Lost Relic stat bar IS for 4 keys. Also, if the timer doesn't interest you, why not replace it with an armor stat?
Last edited by WolferCooker on Tue Oct 26, 2010 1:42 pm; edited 2 times in total
WolferCooker- Hardcore Wolfer
Number of posts : 1201
Age : 34
Location : Pennsylvania, U.S.A
Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
Registration date : 2010-09-24
Scratch that, I like WSJ's Totenkopf SDL stat bar better.
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Have you ever heard of the edit button?
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
WolferCooker- Hardcore Wolfer
Number of posts : 1201
Age : 34
Location : Pennsylvania, U.S.A
Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
Registration date : 2010-09-24
Yes Zin. I didn't feel like using it. lol.
Anyway, I think Totenkopf SDL's HUD is best suited for this mod. I should've thought about that before.
Anyway, I think Totenkopf SDL's HUD is best suited for this mod. I should've thought about that before.
WolferCooker- Hardcore Wolfer
Number of posts : 1201
Age : 34
Location : Pennsylvania, U.S.A
Hobbie : Video Games (mostly PC), but been rapidly losing interest in it recently
Registration date : 2010-09-24
Wizzie, here are the pics of all the different artifacts I found. Everybody else, let me know what others I missed.
Last edited by WolferCooker on Wed Oct 27, 2010 4:00 pm; edited 1 time in total
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Ok,Totenkopf SDL please. How do I go about implementing that?
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Well it seems to me that its gotten rid of the gun display pic, so you'll want to remove any calls to DrawWeapon(). It also looks like it was room for 4 keys. You can find out how to do that (and several other things) here at Poet's site. Armor is pretty much straight forward as well. Add in an armor variable in the gamestate struct and mess with the functions which give the player damage to compensate for armor. You will have to experiment with various formulas for calculating damage with armor.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Are those not for DOS?
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
They are but you'll be fine. I've looked them over and you SHOULD be fine. If you do run into a problem it won't be anything major because you aren't messing with the renderer or anything which is controlled by ridiculous amounts of pre-processor code. Adding key's & armor isn't really something which digs super deep into the code. There are differences between the DOS and SDL code, but not to the degree that DOS tutorials are 110% obsolete.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Alritey. Do you also happen to know how to add keypad support for playing wolf3d? Thanks.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
It uses SDL for input so it should already have support for it.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
I meant, that numberpad thingy. Usually on the right hand sides, with the numbers and stuff. That's supported? Shocker! Unless I was blind, I read that Ack doesn't want to play SDL because it doesn't support number pad.
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
Well I went and played a few seconds JUST to make sure. Numpad works as long as you turn numlock OFF. You don't even have to change the keys on the keyboard screen, it works right away.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat
Per-Scan- Seasoned Wolfer
- Number of posts : 385
Age : 51
Location : One year in the future
Registration date : 2010-09-29
Just as an FYI; I play all my games with a wireless numberpad. I've never had any problems.
Dark_wizzie- I am Death Incarnate!
Number of posts : 5120
Age : 30
Location : California, USA
Job : Investor
Hobbie : Computers, chess, computer chess, fashion, and philosophy
Message : I made this forum when I was 13
Registration date : 2007-03-24
Ok, then. How do I make it so on level so and so, the player starts off with a pistol and 8 rounds?
Wolf3d Haven
Minute Logic Blog
Dr.Zin- Bring em' On!
Number of posts : 180
Age : 40
Location : Nowhere
Message : General Programmer
World of Tanks Username: ToreHund
Registration date : 2010-08-11
[rant]
Ummm....why not consult the hundreds of tutorials available? You will learn more by experimenting and looking through tutorials rather than just asking how to code every little feature in this thread. Its how anyone even remotely proficient with the code even became proficient. At that point myself and whomever else helps will be doing the coding more so than you would be. At which point I would feel somewhat compelled to ask that my name be featured prominently in the credits . But seriously, try the DHW forums, search still works and there are HUNDREDS of topics on just about every code feature you can think of. I am not opposed to helping with particularly vexing problems, but I am not going to do the work for you.
[/rant]
Anyway, use the GameLoop() function for a simple switch block. Use gamestate.mapon in the switch. Each case must be the level number MINUS 1. Within each case block set gamestate.ammo or whatever variables you use or may use in the future to the appropriate values. Seems like the most straight forward method to me as this is somewhat similar to how the game manages the keys when you go to the final level of SoD. Infact, the code which handles that is up near the top of the function's code.
Simple enough, right? Right.
Ummm....why not consult the hundreds of tutorials available? You will learn more by experimenting and looking through tutorials rather than just asking how to code every little feature in this thread. Its how anyone even remotely proficient with the code even became proficient. At that point myself and whomever else helps will be doing the coding more so than you would be. At which point I would feel somewhat compelled to ask that my name be featured prominently in the credits . But seriously, try the DHW forums, search still works and there are HUNDREDS of topics on just about every code feature you can think of. I am not opposed to helping with particularly vexing problems, but I am not going to do the work for you.
[/rant]
Anyway, use the GameLoop() function for a simple switch block. Use gamestate.mapon in the switch. Each case must be the level number MINUS 1. Within each case block set gamestate.ammo or whatever variables you use or may use in the future to the appropriate values. Seems like the most straight forward method to me as this is somewhat similar to how the game manages the keys when you go to the final level of SoD. Infact, the code which handles that is up near the top of the function's code.
Simple enough, right? Right.
If a packet hits a pocket on a socket on a port,
and the bus is interupted as a very last resort,
and the address of the memory makes your floppy disk abort
then the socket packet pocket has an error to report!
http://radix-16.com/
Wolf3d Chat