soywiz-archive / cspspemu

C# PSP Emulator (.NET Core 3.1)
https://soywiz.com/
122 stars 26 forks source link

Make 3D Homebrew samples work #60

Open SsJVasto opened 12 years ago

SsJVasto commented 12 years ago

I'm going to make the basic samples work, then some more advanced homebrew (like my 3D alpha RPG that uses 2D and 3D simultaneously)...

archanox commented 12 years ago

How are you going with this? I'm excited to see your first commit! I think the best sample to dive head first into would be Cube Sample, but I'm sure you were aware of it already. Do you have a public build of your homebrew so we can follow along with the progress?

SsJVasto commented 12 years ago

Yeah, I could probably upload a small EBOOT with the source, to test homebrew. It's not very fun to look at, but it uses some more advanced GU manipulations that aren't in the /sample/ directory. Stuff like sceGumPushMatrix() and sceGumPopMatrix(), as well as overlaying 2D on 3D. I'll have to make a cute demo, possibly a mini game (I just have to put a few pieces together and create a 3D model), maybe within a week...

SsJVasto commented 12 years ago

Well, right off the bat, I couldn't compile this weekend (I was windering why it worked at work, but not at home), and it was because of a DLL that's only included in Visual Studio. I copied it and added it as a reference in the project, but SSHH~, don't tell Microsoft!

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll - File added (was in "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies")... If it was Public, it shouldn't matter I borrowed it, right? ;)

archanox commented 12 years ago

You're using sharpdevelop right? Not that I even contemplated copying dlls, but monodevelop would drop the unit testing projects and all references to them.

This is great, because now I shouldn't have to build on my windows machine and copy the exe across to a Linux machine. Woo! Next step debugging on Linux!

Oh and as for the dlls, personally, I think it's fine and I wouldn't care. But if a lawyer looked at it and saw the project was GPL and in it was a MS dll. I don't know, as you said, public ;) But if anyone complains, if, perhaps a script to copy the dll would be better than including the dll itself. But I don't know how you'd go about it, perhaps @soywiz can help?

In summary, at this point in time, I say who cares.

soywiz commented 12 years ago

Uhm. Maybe we can switch from the MS Unittesting to NUnit or something like that? I have never used NUnit or other options. Did you use it? But anyway, those DLLs should only be referenced into the unittesting project, so the other parts of the projects should compile just fine without those references.

SsJVasto commented 12 years ago

@soywiz yes, I know, but the "Solution Compilation" fails because not all projects were successfully compiled, so you cannot run or debug it XD. Also, I could have changed the references to the Tests, but why reinvent the wheel? IMHO it was easier to just add the DLL as a Local Reference. I do however have a program called "Reflector.Net" which allows you to see the C#, VB, MC++ or IL in the DLL, so we could extract the class and change the name/namespace and re-implement it in the solution, but that's even less legal (but less tracable).

soywiz commented 11 years ago

@SsJVasto Hey! I'm working with the emulator again. Could you send me your RPG so I can try to fix the rendering stuff?

soywiz commented 11 years ago

I have found and fixed a huge problem that caused most games to skip geometry. It seems that when performing a PRIM, the PRIM updates the vertex pointer when not using indices.