Jump to content

Joaquim

Member
  • Posts

    440
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Portugal

Everything posted by Joaquim

  1. correct me 1 thing: using Win9x patches on Windows ME is the same or not?
  2. today i will test it heres the message error
  3. I miss or forget that patch. Maybe thats was my mistake. The SP 3 don't have that patch?
  4. I did research without success thats why i ask. I don't know why these error. Im confused on what you ask for i do. Honestly these is the game that i get the error. But maybe theres more
  5. i installed Age of Empire I(Windows game)... when i execute i get a space disk error.... but i have space: 70GB's.. do i need a disk patch for resolve it? maybe others games can have the same problems
  6. i installed the audio drivers... but is there a Sound Blaster adicional drivers? the Doom\Heretic is slow when the effects audio are executed?(shot guns, jumps and others)
  7. MrMateczko it's a laptop... so i can't change it. awkduck: i did that command and i add it on autoexec.bat. the keen4 continues with speaker i can try the VDMSound.. but i can't find a version less than 2.x
  8. sure: acer aspire 1690
  9. honestly i must reinstall the Windows 98(yah... again)... so i win more experience: 1 - we must install the IE6SP1, before the SP3 cores... even so we will get some bugs, so we must reinstall the IE6SP1; 2 - we must install the autopach too(have more updates); 3 - using both we must re-install, after the reboot error, the patch memory; 4 - i was getting problems on using\install the ACPIOFF.... the pre-requisits is intall thats updates; 5 - USB36a, sometimes, fail me.... so the best is: - install the ChipSets; - install the US36a; - we must install, manually, the USB 2.0 and USB Storage drivers... now we can use the pens; 6 - damn... again... i fail on installing the NTFS drivers theres several of them... but, for now, i can use my external disks on Windows 98 7 - finally i get, manually, the sound blaster sound on DOS games... but not on Keen4, Prince of Persia's and others... but Doom and others 3D games works normaly; 8 - i love the Windows ME theme... so i use it on Windows 98 with SP3(only installs after the Main Core updates). conclusion: i have learned too much from you and others... but sometimes, something, must fail for now, i need fix the audio parameters for use them on autoexec.bat.... and the NFS
  10. i need some updates for win9x: 1 - instead using 'MS-DOS Sound Blaster Setter' is there another program for i get the Sound Blaster parameters? i have installed the https://retrosystemsrevival.blogspot.com/2020/06/modded-ac97-windows-95-drivers.html (manually) and i get the sound and sound blaster emulation drivers.... the doom 1 and 2, Heretic and others 3D games and the Jazz Rabbit have Sound Blaster sound... but the Commander Keen, Wolf3D, Prince of Persia and others use the Speaker... i need a way for get, correctly, the sound blaster on all MS-DOS games without an emulator(DosBox). PS: if i use the original drivers, i can't get the Sound Blaster emulation driver. 2 - on Windows ME, how i can get the Command Prompt(MS-DOS) on Startup menu(F8) and on ShutDown menu? i tried the 'Real MS-DOS', but i damage the system 3 - for get the ACPIOFF working we must, first, update the system?(SP3 or other) 4 - after install Internet Explorer 6 SP1, i lose the 'Save Previous Folder'(when we shutdown the computer with an open folder, the system reboot without the folder open... how can i resolve it?)
  11. thank you so much for all to all
  12. can anyone share me the wolf3d run file that works on Windows 98? i haded 1, but i losed
  13. the disk was damage.. thank you so much for all i did more tests
  14. how can i execute the Windows ME setup with 2GB's of RAM? my problem is when i do the command 'setup', nothing happpens... only black screen
  15. the Power Meter Plus v1.6.1 links don't works i'm trying the ACPI registry
  16. there is a program for get battery percentage? i have a battery.. ok damage(maybe 15 minutes)... but the OS don't give me the battery percentage.. is there a program for get it?
  17. and worst.. i tested just with 1 line, and seems not working lol i must retest the GetLineZZero() and DrawPolygon().
  18. i think i know the problem: the polygon is a serie of lines\dots. but some can be from right to left(normaly the Destination is more far and not more close ). heres the position structure: struct position { float Pos3DX; float Pos3DY; float Pos3DZ; float PosX; float PosY; //Convert 3D to 2D: POINT Perspective(int FocalDistance=300, POINT Center={0,0}) { if(Pos3DZ==0) Pos3DZ=1; float perspect=FocalDistance/(FocalDistance+Pos3DZ); float PosX2D = Pos3DX*perspect + Center.x; float PosY2D = Pos3DY*perspect + Center.y; POINT pos; pos.x=trunc(PosX2D); pos.y=trunc(PosY2D); return pos; } }; and see the GetLineZZero() header: position GetLineZZero(position Origin, position Destination) imagine if the 'Destination' is a Left point and the Origin is the Right point.... how can i compare the values? is just like: if(Destination.Pos3DX < Origin.Pos3DX || Destination.Pos3DY < Origin.Pos3DY || Destination.Pos3DZ < Origin.Pos3DZ) SwapPosition(Origin,Destination);//Swap function not created i'm I right?
  19. Yes i'm trying clipping the 3D shape. I try avoid the Z negative. But the wrong coordenates continue happen... so what you advice more? Anotherthing is best create my own function for draw a line?
  20. 'DrawPolygon()' draw a wall... but how can i control the draw position? i can't draw something less than zero Z(behind the player\window\view)... so how can i control it?
  21. heres my perspective function: POINT Perspective(int FocalDistance, POINT Center={0,0}) { float PosX2D = Pos3DX /(FocalDistance+Pos3DZ)+ Center.x; float PosY2D = Pos3DY /(FocalDistance+Pos3DZ)+Center.y; POINT pos; pos.x=round(PosX2D); pos.y=round(PosY2D); return pos; } these function is wrong... how the perspective function works: 1 - we must calculate the perspective(please use float or double types on divisions): float Perspective = FocalLenght / (FocalLenght + PolygonPosZ); 2 - using the Perspective, we can change the shape scale or position(scale too): float PosX2D = Pos3DX * Perspective; float PosY2D = Pos3DY * Perspective; 3 - now we can add the center of screen to the position: PosX2D = PosX2D + ViewCenter.x; PosY2D = PosY2D + ViewCenter.y; 4 - the Polygon()(for example) use the POINT pointer.. the POINT structer use LONG type(integers)... so we need use the trunc() function for convert them: POINT pos; pos.x=trunc(PosX2D); pos.y=trunc(PosY2D); now i can draw a polygon: vector<position> Polygon3D={ {30, 145,0}, {85, 165,0}, {105, 110,10}, {65, 125,10}, {30, 105,0} }; vector<POINT> polygon; for(int index=0; index<Polygon3D.size(); index++) { polygon.push_back(Polygon3D[index].Perspective(300,{WindowSize.right/2, WindowSize.bottom/2 })); } //... DrawPolygon(HDCConsole,polygon,hPen1,hPlane); void DrawPolygon(HDC HDCDestination, vector<POINT> points, HPEN LineColor, HBRUSH PlaneColor) { HPEN hOldPen = (HPEN)SelectObject(HDCDestination, LineColor); HBRUSH hOldBrush = (HBRUSH)SelectObject(HDCDestination, PlaneColor); Polygon(HDCDestination,points.data(),points.size()); SelectObject(HDCDestination, hOldPen); SelectObject(HDCDestination, hOldBrush); } yes the 'data()' give us in right vector type type. see the result: https://imgur.com/DcU5Aov thank you so much for all. in time i will create a wall shape for test.
  22. done code: #include <windows.h> #include <iostream> #include <algorithm> #include <vector> #include <math.h> using namespace std; HDC HDCConsole = GetWindowDC(GetConsoleWindow()); struct position { float Pos3DX; float Pos3DY; float Pos3DZ; float PosX; float PosY; POINT Perspective(int FocalDistance, POINT Center={0,0}) { float PosX2D = Pos3DX /(FocalDistance+Pos3DZ)+ Center.x; float PosY2D = Pos3DY /(FocalDistance+Pos3DZ)+Center.y; POINT pos; pos.x=round(PosX2D); pos.y=round(PosY2D); return pos; } }; void DrawPolygon(HDC HDCDestination, vector<position> Points, HPEN &LineColor, HBRUSH &PlaneColor) { HPEN hOldPen = (HPEN)SelectObject(HDCDestination, LineColor); HBRUSH hOldBrush = (HBRUSH)SelectObject(HDCDestination, PlaneColor); POINT pos[Points.size()]; for(unsigned int index=0; index<Points.size(); index++) { pos[index]=Points[index].Perspective(300,{0,0}); } if(Polygon(HDCDestination,pos,4)==FALSE) MessageBox(NULL,"error","error", MB_OK); SelectObject(HDCDestination, hOldPen); SelectObject(HDCDestination, hOldBrush); } int main() { vector<position> Rec; Rec.push_back({0,0,0}); Rec.push_back({10,0,0}); /*Rec.push_back({10,10,0}); Rec.push_back({0,10,0}); Rec.push_back({0,0,0});*/ HPEN hPen1 = CreatePen(PS_SOLID, 1, RGB(0, 255, 0)); HBRUSH hPlane = CreateSolidBrush(RGB(0,255,0)); do { DrawPolygon(HDCConsole,Rec,hPen1,hPlane); }while(!(GetKeyState(VK_ESCAPE) & 0x8000)); DeleteObject(hPen1); DeleteObject(hPlane); return 0; } see the perspetive(): POINT Perspective(int FocalDistance, POINT Center={0,0}) { float PosX2D = Pos3DX /(FocalDistance+Pos3DZ)+ Center.x; float PosY2D = Pos3DY /(FocalDistance+Pos3DZ)+Center.y; POINT pos; pos.x=round(PosX2D); pos.y=round(PosY2D); return pos; } see on the Polygon(): POINT pos[Points.size()]; for(unsigned int index=0; index<Points.size(); index++) { pos[index]=Points[index].Perspective(300,{0,0}); } if(Polygon(HDCDestination,pos,4)==FALSE) MessageBox(NULL,"error","error", MB_OK); if the center is {0,0} the line isn't showed. if the center is {100,100}... the line is showed. The X seems ok... but Y ins't... the line seems drawed much more than window. int main() { vector<position> Rec; Rec.push_back({0,0,0}); Rec.push_back({10,0,0}); /*Rec.push_back({10,10,0}); Rec.push_back({0,10,0}); Rec.push_back({0,0,0});*/ so what is wrong with my perspective code?
  23. I'm asking because of results. But i need add a correction for dont draw behind the player.
  24. SoundFX don't work with sound effects(tested).. thanks for all thanks for all to all
  25. Is always best the window center be the point 0,0? And using float positions? Then i must trunc() or round() to convert to integer?
×
×
  • Create New...