Jump to content

xdaniel's Random Junk


xdaniel
 Share

Recommended Posts

I'm guessing this could be adapted to work on the N64 version of this as well?

 

A casual glance over the MM64 and Rockman Dash ROMs later... probably not. I couldn't find any filenames, and in turn the archive headers, nor some short, random choices of data from the PSX version (byteswapped or not). I guess it's possible they redid the data management when porting the game, plus changed the model formats to be more "N64-like", Display lists and all instead of ex. creating them on-the-fly using the original PSX data.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

Working PSX + Xplorer flashed with Caetla + a Windows 2000 laptop with a parallel port + a weird amalgamation of the official PsyQ PSX Devkit, MinGW and homebrew tools + hours upon hours of trying to get the whole LPT junk to work, on three different PCs and three different OS = ...

 

Posted ImagePosted ImagePosted Image

 

...what might someday become a game, transferred to the console via LPT, with working printf console output.

  • Like 1
Link to comment
Share on other sites

That's awesome stuff, xdaniel. I wish I knew how to do these things :P

 

It took some time to find out how to set everything up, fix eventual bugs and/or replace some of the old official tools with newer equivalents (Psymake vs GNU Make, for example). But after that, it's more or less just a matter of writing the code... and making graphics... and sound... and so on ^^"

 

Holy shit, How many computers do you have? O.o lol epic.

 

Heh, right now in this room... six? My main desktop, main laptop, a Gericom Celeron 400 MHz laptop (the Win2000 one), a Pentium D 2.66 GHz desktop with a BSOD problem (HDD failure?), a Dell Pentium 4M 2 GHz laptop, and an IBM ThinkPad Pentium MMX 166 MHz laptop. Also have some mainboards, half-complete desktops and a few Macs (iMac G3, a PowerBook) in the basement :P

 

Edit: Make that five computers, I just put the Dell laptop back into the basement, where I in turn fetched a different keyboard for the PSX dev laptop. That PowerMac keyboard is cool and all, but the keyboard layout's too different for me - 10+ years old Logitech Corded iTouch Keyboard FTW! :D

 

Edit 2: I'm crazy! Especially because I have no idea when I'll be bored by this, which is when I'll have to restore my desk to its previous state!

 

Posted Image

Edited by xdaniel
  • Like 1
Link to comment
Share on other sites

Finally started to devote myself to the freaking engine:

 

Posted Image

 

The foundations for the object management system have been laid, including a somewhat dynamic graphics manager for the framebuffer space that's put aside for objects. Not much else besides that yet, tho, in terms of a "game engine".

 

Also, the HUD: the green bar is "active energy" (weapon system and other things), the red bar is "passive energy" (the shield, so basically HP), the arrows are the ship's speed indicator (one, two or three arrows, depending on the speed), the number is the score. That empty circle on the left will contain a warning light, its color changing according to the energy levels - come to think of it, I think both Pulseman and Dynamite Headdy have something like that, which is probably where I got the idea from :P All the numbers etc. are currently just changed directly via the controller, there's no scoring system or anything yet.

 

Besides that, there's been some tiny changes to the intro, as well as a new credits scroller full of "(people go here)" placeholders. Yeah, not gonna be able to do this all by myself... I'm likely going to ask around for concept and pixel artists and such if I ever reach the stage where they'll be needed - I am getting suggestions and such from a few friends, but they can't really draw, either.

 

EDIT: Been coding without testing on real hardware over the last few days, and now that I did test it that way again, it crashed! Turns out I had some uninitialized variables and such in the object manager... fixed those, then fixed a glitch related to the HUD energy bars' texture mapping (might as well remove them and do it all with vertex colors), and now it looks and works perfectly fine on hardware again!

 


EDIT 2:

 

Posted Image

 

More work done on object management in general, and the player object in particular. Animation also works (currently with placeholder sprites from Gradius Gaiden, IIRC), they can loop, be played once to then freeze on the last frame, or can play back and forth (tho that last one's not yet coded).

 

 

/* Player animations */
static GameObjectAnim PlayerAnims[] =
{
	{
		/* PLAYER_ANIM_IDLE */
		OBJECT_ANIMODE_LOOP, 8, 3,
		{
			{ 0, 0, 24, 16 },
			{ 24, 0, 24, 16 },
			{ 48, 0, 24, 16 }
		}
	},
	{
		/* PLAYER_ANIM_MOVEUP */
		OBJECT_ANIMODE_ONCE, 12, 2,
		{
			{ 72, 0, 24, 16 },
			{ 96, 0, 24, 16 }
		}
	},
	{
		/* PLAYER_ANIM_MOVEDOWN */
		OBJECT_ANIMODE_ONCE, 16, 2,
		{
			{ 0, 16, 24, 16 },
			{ 24, 16, 24, 16 }
		}
	}
};

 

Edited by xdaniel
Link to comment
Share on other sites

Posted Image

 

You can shoot now! Well, you can shoot now, but there's nothing to shoot yet. This also shows the beginnings of the weapon system: the tiny shots are your standard rapid-fire shots that'll hit an enemy and disappear. The longer ones you see are a piercing shot that'll travel all the way past the edge of the screen, damaging every enemy it passes.

 

That piercing shot is one of the planned special weapons that uses "active energy" - one shot from a special weapon will take a certain amount of active energy. That energy actually recharges automatically, but the rate of recovery is tied to the ship's speed setting - the higher the speed, the lower the rate of recovery. Plus, if the active energy falls below 1/3 of the total, you won't be able to fire your special weapon, period.

 

Fancy using your special weapons permanently? Be prepared to fly slowly. You want to get around the screen quickly? Well, get used to the standard rapid-fire blaster. Or just leave the speed setting on medium most of the time as a compromise, and switch it (using L1/R1) if you need to.

  • Like 1
Link to comment
Share on other sites

lol

xDan I am 99% sure you are plagued by ADD my friend :P

 

Nah, with all the testing and therapy I've had related to social phobia and depressions, I think someone would've noticed :P

 

On topic: Testing on hardware again - or rather, leaving the hardware running while I was eating lunch - I noticed that the loop from title screen, to (the future site of) demo mode, back to the title, crashes on the title screen in the 15th or so iteration. I'd bet it's some incorrectly cleared variable or something again...

Link to comment
Share on other sites

Well, I am using structs and arrays of structs for many things - ex. each system state (intro, title screen, in-game) has its own "work structure", while ex. the in-game work structure has arrays of enemy and projectile structs - but there's still one or two more or less global things that can cause problems. It's a bit difficult to apply object-oriented programming to pure C :P

 

On a different subject, I've been improving the animation system bit by bit, aiming for it to be able to load animation definitions from files on the CD/PC, as opposed to having to hardcode them into the game via header files. I'm not there yet, but I've already cleaned a few things up, and put a very basic animation viewer together:

 

Posted Image

 

Not sure if I'm going to leave it in the game for people to find, in case it ever gets finished... then again, it would be kinda cool to have a TCRF page for a game of my own! XD

 


EDIT: Quick and dirty animation parser's working - on the PC anyway, still need to implement it in the actual PSX code. The following file...

 

#Player idle

(PlayerIdle

Mode=0

Delay=8

:Frames=Rect

=0 0 24 16

=24 0 24 16

=48 0 24 16

;

)

 

#Player moving up

(PlayerMoveUp

Mode=2

Delay=12

:Frames=Rect

=72 0 24 16

=96 0 24 16

;

)

 

#Player moving down

(PlayerMoveDown

Mode=2

Delay=12

:Frames=Rect

=0 16 24 16

=24 16 24 16

;

)

 

...results in...

 

Posted Image

 

Yeah, that console window says pretty much exactly what the file already says, I know. But it prints it from the actual structures the data was stored into!

 

...it's difficult to show the result of something as boring as this in a flashy way :P

 


EDIT 2: The animation parser isn't yet working 100% correctly on the PSX, thanks to functions the parser uses not being available in the OS libraries - the thing doesn't even know sscanf FFS - and the (semi-)replacements for them I found elsewhere not being complete or being buggy. At least I got an animation editor coded:

 

Posted Image

 

Could still use some improvements, but it's pretty nice already.

 


EDIT 3: Screw text file parsing, I'll just make the editor export to a fixed binary format, then make the PSX-side code read that. The idea of parsing a text file was born chiefly from the lack of a dedicated editor anyway, so... reason's disappeared! Gonna rewrite the editor's exporting function first, then implement reading its result in the engine...

Edited by xdaniel
Link to comment
Share on other sites

  • 1 month later...

Yep, reflection via automatic texture coordinate generation, like on the GI item pickup models, the gold bars on the shelf at the treasure chest game, and, uh... probably things like swords and stuff? I guess pretty much everything where the reflection changes depending on the camera angle. Still needs more testing, plus I still haven't tried out how it looks in-game...

 

Also, another random thing I started earlier today:

 

Initially, I though about looking into Virtual-On for Saturn, and see how the models in that game work... but I quickly dismissed that idea. I have even less of an idea how the Saturn works internally, than I had about the PSX when I did that Mega Man Legends stuff... So for some reason - and I really have no idea how I thought of this game - I looked into Mega Man Battle Network of all things! And that actually went somewhere~

 

First results:

Posted Image

 

Later on, with working animation:

Posted Image

 

  • Like 2
Link to comment
Share on other sites

First of all, thanks guys!

 

Now, Sanguinetti: It's a cool result of what'll hopefully become SharpOcarina's replacement :P Or to be more exact, it's a cool result of the model handling library I'm writing, with the specific program in the screenshot being a simple viewer and converter. The library can (so far) read Wavefront .obj files, write "N64 binary files" (meaning textures and Display Lists) and read and write the intermediate model format the library is using internally.

 

Jason: I kinda still want to - it would be pretty cool to, say, have Temjin render in your own program, or export his model for use elsewhere... but as mentioned, I know even less about the Saturn than about the PSX, in terms of technical specs, programming it and such.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.