Made GenericLoad.cpp ASM-accurate

This commit is contained in:
Clownacy 2019-04-22 20:12:43 +01:00
parent ac904aa4ae
commit 79bf011e3b
4 changed files with 120 additions and 108 deletions

View file

@ -1,5 +1,9 @@
#include "GenericLoad.h" #include "GenericLoad.h"
#include <stdio.h>
#include "WindowsWrapper.h"
#include "CommonDefines.h" #include "CommonDefines.h"
#include "Draw.h" #include "Draw.h"
#include "Ending.h" #include "Ending.h"
@ -149,43 +153,47 @@ static const PIXTONEPARAMETER gPtpTable[139] =
{1, 1000, {0, 20.0, 0, 0}, {0, 0.0, 0, 0}, {0, 0.0, 0, 0}, 0, 64, 0, 128, 0, 255, 0} {1, 1000, {0, 20.0, 0, 0}, {0, 0.0, 0, 0}, {0, 0.0, 0, 0}, 0, 64, 0, 128, 0, 255, 0}
}; };
bool LoadGenericData() BOOL LoadGenericData()
{ {
char str[0x40];
BOOL bError;
int pt_size;
MakeSurface_Resource("PIXEL", SURFACE_ID_PIXEL); MakeSurface_Resource("PIXEL", SURFACE_ID_PIXEL);
bool bError = false; bError = FALSE;
if (!MakeSurface_File("MyChar", SURFACE_ID_MY_CHAR)) if (!MakeSurface_File("MyChar", SURFACE_ID_MY_CHAR))
bError = true; bError = TRUE;
if (!MakeSurface_File("Title", SURFACE_ID_TITLE)) if (!MakeSurface_File("Title", SURFACE_ID_TITLE))
bError = true; bError = TRUE;
if (!MakeSurface_File("ArmsImage", SURFACE_ID_ARMS_IMAGE)) if (!MakeSurface_File("ArmsImage", SURFACE_ID_ARMS_IMAGE))
bError = true; bError = TRUE;
if (!MakeSurface_File("Arms", SURFACE_ID_ARMS)) if (!MakeSurface_File("Arms", SURFACE_ID_ARMS))
bError = true; bError = TRUE;
if (!MakeSurface_File("ItemImage", SURFACE_ID_ITEM_IMAGE)) if (!MakeSurface_File("ItemImage", SURFACE_ID_ITEM_IMAGE))
bError = true; bError = TRUE;
if (!MakeSurface_File("StageImage", SURFACE_ID_STAGE_ITEM)) if (!MakeSurface_File("StageImage", SURFACE_ID_STAGE_ITEM))
bError = true; bError = TRUE;
if (!MakeSurface_File("Npc/NpcSym", SURFACE_ID_NPC_SYM)) if (!MakeSurface_File("Npc/NpcSym", SURFACE_ID_NPC_SYM))
bError = true; bError = TRUE;
if (!MakeSurface_File("Npc/NpcRegu", SURFACE_ID_NPC_REGU)) if (!MakeSurface_File("Npc/NpcRegu", SURFACE_ID_NPC_REGU))
bError = true; bError = TRUE;
if (!MakeSurface_File("TextBox", SURFACE_ID_TEXT_BOX)) if (!MakeSurface_File("TextBox", SURFACE_ID_TEXT_BOX))
bError = true; bError = TRUE;
if (!MakeSurface_File("Caret", SURFACE_ID_CARET)) if (!MakeSurface_File("Caret", SURFACE_ID_CARET))
bError = true; bError = TRUE;
if (!MakeSurface_File("Bullet", SURFACE_ID_BULLET)) if (!MakeSurface_File("Bullet", SURFACE_ID_BULLET))
bError = true; bError = TRUE;
if (!MakeSurface_File("Face", SURFACE_ID_FACE)) if (!MakeSurface_File("Face", SURFACE_ID_FACE))
bError = true; bError = TRUE;
if (!MakeSurface_File("Fade", SURFACE_ID_FADE)) if (!MakeSurface_File("Fade", SURFACE_ID_FADE))
bError = true; bError = TRUE;
MakeSurface_Resource("CREDIT01", SURFACE_ID_CREDITS_IMAGE); MakeSurface_Resource("CREDIT01", SURFACE_ID_CREDITS_IMAGE);
if (bError) if (bError)
{ {
return false; return FALSE;
} }
else else
{ {
@ -200,94 +208,96 @@ bool LoadGenericData()
MakeSurface_Generic(320, 240, SURFACE_ID_LEVEL_SPRITESET_2); MakeSurface_Generic(320, 240, SURFACE_ID_LEVEL_SPRITESET_2);
MakeSurface_Generic(WINDOW_WIDTH, 16 * MAX_STRIP, SURFACE_ID_CREDIT_CAST); MakeSurface_Generic(WINDOW_WIDTH, 16 * MAX_STRIP, SURFACE_ID_CREDIT_CAST);
size_t pixtone_bytes = MakePixToneObject(&gPtpTable[0], 2, 32); pt_size = 0;
pixtone_bytes += MakePixToneObject(&gPtpTable[2], 2, 33); pt_size += MakePixToneObject(&gPtpTable[0], 2, 32);
pixtone_bytes += MakePixToneObject(&gPtpTable[4], 2, 34); pt_size += MakePixToneObject(&gPtpTable[2], 2, 33);
pixtone_bytes += MakePixToneObject(&gPtpTable[6], 1, 15); pt_size += MakePixToneObject(&gPtpTable[4], 2, 34);
pixtone_bytes += MakePixToneObject(&gPtpTable[7], 1, 24); pt_size += MakePixToneObject(&gPtpTable[6], 1, 15);
pixtone_bytes += MakePixToneObject(&gPtpTable[8], 1, 23); pt_size += MakePixToneObject(&gPtpTable[7], 1, 24);
pixtone_bytes += MakePixToneObject(&gPtpTable[9], 2, 50); pt_size += MakePixToneObject(&gPtpTable[8], 1, 23);
pixtone_bytes += MakePixToneObject(&gPtpTable[11], 2, 51); pt_size += MakePixToneObject(&gPtpTable[9], 2, 50);
pixtone_bytes += MakePixToneObject(&gPtpTable[33], 1, 1); pt_size += MakePixToneObject(&gPtpTable[11], 2, 51);
pixtone_bytes += MakePixToneObject(&gPtpTable[38], 1, 2); pt_size += MakePixToneObject(&gPtpTable[33], 1, 1);
pixtone_bytes += MakePixToneObject(&gPtpTable[56], 1, 29); pt_size += MakePixToneObject(&gPtpTable[38], 1, 2);
pixtone_bytes += MakePixToneObject(&gPtpTable[61], 1, 43); pt_size += MakePixToneObject(&gPtpTable[56], 1, 29);
pixtone_bytes += MakePixToneObject(&gPtpTable[62], 3, 44); pt_size += MakePixToneObject(&gPtpTable[61], 1, 43);
pixtone_bytes += MakePixToneObject(&gPtpTable[65], 1, 45); pt_size += MakePixToneObject(&gPtpTable[62], 3, 44);
pixtone_bytes += MakePixToneObject(&gPtpTable[66], 1, 46); pt_size += MakePixToneObject(&gPtpTable[65], 1, 45);
pixtone_bytes += MakePixToneObject(&gPtpTable[68], 1, 47); pt_size += MakePixToneObject(&gPtpTable[66], 1, 46);
pixtone_bytes += MakePixToneObject(&gPtpTable[49], 3, 35); pt_size += MakePixToneObject(&gPtpTable[68], 1, 47);
pixtone_bytes += MakePixToneObject(&gPtpTable[52], 3, 39); pt_size += MakePixToneObject(&gPtpTable[49], 3, 35);
pixtone_bytes += MakePixToneObject(&gPtpTable[13], 2, 52); pt_size += MakePixToneObject(&gPtpTable[52], 3, 39);
pixtone_bytes += MakePixToneObject(&gPtpTable[28], 2, 53); pt_size += MakePixToneObject(&gPtpTable[13], 2, 52);
pixtone_bytes += MakePixToneObject(&gPtpTable[15], 2, 70); pt_size += MakePixToneObject(&gPtpTable[28], 2, 53);
pixtone_bytes += MakePixToneObject(&gPtpTable[17], 2, 71); pt_size += MakePixToneObject(&gPtpTable[15], 2, 70);
pixtone_bytes += MakePixToneObject(&gPtpTable[19], 2, 72); pt_size += MakePixToneObject(&gPtpTable[17], 2, 71);
pixtone_bytes += MakePixToneObject(&gPtpTable[30], 1, 5); pt_size += MakePixToneObject(&gPtpTable[19], 2, 72);
pixtone_bytes += MakePixToneObject(&gPtpTable[32], 1, 11); pt_size += MakePixToneObject(&gPtpTable[30], 1, 5);
pixtone_bytes += MakePixToneObject(&gPtpTable[35], 1, 4); pt_size += MakePixToneObject(&gPtpTable[32], 1, 11);
pixtone_bytes += MakePixToneObject(&gPtpTable[46], 2, 25); pt_size += MakePixToneObject(&gPtpTable[35], 1, 4);
pixtone_bytes += MakePixToneObject(&gPtpTable[48], 1, 27); pt_size += MakePixToneObject(&gPtpTable[46], 2, 25);
pixtone_bytes += MakePixToneObject(&gPtpTable[54], 2, 28); pt_size += MakePixToneObject(&gPtpTable[48], 1, 27);
pixtone_bytes += MakePixToneObject(&gPtpTable[39], 1, 14); pt_size += MakePixToneObject(&gPtpTable[54], 2, 28);
pixtone_bytes += MakePixToneObject(&gPtpTable[23], 2, 16); pt_size += MakePixToneObject(&gPtpTable[39], 1, 14);
pixtone_bytes += MakePixToneObject(&gPtpTable[25], 3, 17); pt_size += MakePixToneObject(&gPtpTable[23], 2, 16);
pixtone_bytes += MakePixToneObject(&gPtpTable[34], 1, 18); pt_size += MakePixToneObject(&gPtpTable[25], 3, 17);
pixtone_bytes += MakePixToneObject(&gPtpTable[36], 2, 20); pt_size += MakePixToneObject(&gPtpTable[34], 1, 18);
pixtone_bytes += MakePixToneObject(&gPtpTable[31], 1, 22); pt_size += MakePixToneObject(&gPtpTable[36], 2, 20);
pixtone_bytes += MakePixToneObject(&gPtpTable[41], 2, 26); pt_size += MakePixToneObject(&gPtpTable[31], 1, 22);
pixtone_bytes += MakePixToneObject(&gPtpTable[43], 1, 21); pt_size += MakePixToneObject(&gPtpTable[41], 2, 26);
pixtone_bytes += MakePixToneObject(&gPtpTable[44], 2, 12); pt_size += MakePixToneObject(&gPtpTable[43], 1, 21);
pixtone_bytes += MakePixToneObject(&gPtpTable[57], 2, 38); pt_size += MakePixToneObject(&gPtpTable[44], 2, 12);
pixtone_bytes += MakePixToneObject(&gPtpTable[59], 1, 31); pt_size += MakePixToneObject(&gPtpTable[57], 2, 38);
pixtone_bytes += MakePixToneObject(&gPtpTable[60], 1, 42); pt_size += MakePixToneObject(&gPtpTable[59], 1, 31);
pixtone_bytes += MakePixToneObject(&gPtpTable[69], 1, 48); pt_size += MakePixToneObject(&gPtpTable[60], 1, 42);
pixtone_bytes += MakePixToneObject(&gPtpTable[70], 2, 49); pt_size += MakePixToneObject(&gPtpTable[69], 1, 48);
pixtone_bytes += MakePixToneObject(&gPtpTable[72], 1, 100); pt_size += MakePixToneObject(&gPtpTable[70], 2, 49);
pixtone_bytes += MakePixToneObject(&gPtpTable[73], 3, 101); pt_size += MakePixToneObject(&gPtpTable[72], 1, 100);
pixtone_bytes += MakePixToneObject(&gPtpTable[76], 2, 54); pt_size += MakePixToneObject(&gPtpTable[73], 3, 101);
pixtone_bytes += MakePixToneObject(&gPtpTable[78], 2, 102); pt_size += MakePixToneObject(&gPtpTable[76], 2, 54);
pixtone_bytes += MakePixToneObject(&gPtpTable[80], 2, 103); pt_size += MakePixToneObject(&gPtpTable[78], 2, 102);
pixtone_bytes += MakePixToneObject(&gPtpTable[81], 1, 104); pt_size += MakePixToneObject(&gPtpTable[80], 2, 103);
pixtone_bytes += MakePixToneObject(&gPtpTable[82], 1, 105); pt_size += MakePixToneObject(&gPtpTable[81], 1, 104);
pixtone_bytes += MakePixToneObject(&gPtpTable[83], 2, 106); pt_size += MakePixToneObject(&gPtpTable[82], 1, 105);
pixtone_bytes += MakePixToneObject(&gPtpTable[85], 1, 107); pt_size += MakePixToneObject(&gPtpTable[83], 2, 106);
pixtone_bytes += MakePixToneObject(&gPtpTable[86], 1, 30); pt_size += MakePixToneObject(&gPtpTable[85], 1, 107);
pixtone_bytes += MakePixToneObject(&gPtpTable[87], 1, 108); pt_size += MakePixToneObject(&gPtpTable[86], 1, 30);
pixtone_bytes += MakePixToneObject(&gPtpTable[88], 1, 109); pt_size += MakePixToneObject(&gPtpTable[87], 1, 108);
pixtone_bytes += MakePixToneObject(&gPtpTable[89], 1, 110); pt_size += MakePixToneObject(&gPtpTable[88], 1, 109);
pixtone_bytes += MakePixToneObject(&gPtpTable[90], 1, 111); pt_size += MakePixToneObject(&gPtpTable[89], 1, 110);
pixtone_bytes += MakePixToneObject(&gPtpTable[91], 1, 112); pt_size += MakePixToneObject(&gPtpTable[90], 1, 111);
pixtone_bytes += MakePixToneObject(&gPtpTable[92], 1, 113); pt_size += MakePixToneObject(&gPtpTable[91], 1, 112);
pixtone_bytes += MakePixToneObject(&gPtpTable[93], 2, 114); pt_size += MakePixToneObject(&gPtpTable[92], 1, 113);
pixtone_bytes += MakePixToneObject(&gPtpTable[95], 2, 150); pt_size += MakePixToneObject(&gPtpTable[93], 2, 114);
pixtone_bytes += MakePixToneObject(&gPtpTable[97], 2, 151); pt_size += MakePixToneObject(&gPtpTable[95], 2, 150);
pixtone_bytes += MakePixToneObject(&gPtpTable[99], 1, 152); pt_size += MakePixToneObject(&gPtpTable[97], 2, 151);
pixtone_bytes += MakePixToneObject(&gPtpTable[100], 1, 153); pt_size += MakePixToneObject(&gPtpTable[99], 1, 152);
pixtone_bytes += MakePixToneObject(&gPtpTable[101], 2, 154); pt_size += MakePixToneObject(&gPtpTable[100], 1, 153);
pixtone_bytes += MakePixToneObject(&gPtpTable[111], 2, 155); pt_size += MakePixToneObject(&gPtpTable[101], 2, 154);
pixtone_bytes += MakePixToneObject(&gPtpTable[103], 2, 56); pt_size += MakePixToneObject(&gPtpTable[111], 2, 155);
pixtone_bytes += MakePixToneObject(&gPtpTable[105], 2, 40); pt_size += MakePixToneObject(&gPtpTable[103], 2, 56);
pixtone_bytes += MakePixToneObject(&gPtpTable[105], 2, 41); pt_size += MakePixToneObject(&gPtpTable[105], 2, 40);
pixtone_bytes += MakePixToneObject(&gPtpTable[107], 2, 37); pt_size += MakePixToneObject(&gPtpTable[105], 2, 41);
pixtone_bytes += MakePixToneObject(&gPtpTable[109], 2, 57); pt_size += MakePixToneObject(&gPtpTable[107], 2, 37);
pixtone_bytes += MakePixToneObject(&gPtpTable[113], 3, 115); pt_size += MakePixToneObject(&gPtpTable[109], 2, 57);
pixtone_bytes += MakePixToneObject(&gPtpTable[116], 1, 104); pt_size += MakePixToneObject(&gPtpTable[113], 3, 115);
pixtone_bytes += MakePixToneObject(&gPtpTable[117], 3, 116); pt_size += MakePixToneObject(&gPtpTable[116], 1, 104);
pixtone_bytes += MakePixToneObject(&gPtpTable[120], 2, 58); pt_size += MakePixToneObject(&gPtpTable[117], 3, 116);
pixtone_bytes += MakePixToneObject(&gPtpTable[122], 2, 55); pt_size += MakePixToneObject(&gPtpTable[120], 2, 58);
pixtone_bytes += MakePixToneObject(&gPtpTable[124], 2, 117); pt_size += MakePixToneObject(&gPtpTable[122], 2, 55);
pixtone_bytes += MakePixToneObject(&gPtpTable[126], 1, 59); pt_size += MakePixToneObject(&gPtpTable[124], 2, 117);
pixtone_bytes += MakePixToneObject(&gPtpTable[127], 1, 60); pt_size += MakePixToneObject(&gPtpTable[126], 1, 59);
pixtone_bytes += MakePixToneObject(&gPtpTable[128], 1, 61); pt_size += MakePixToneObject(&gPtpTable[127], 1, 60);
pixtone_bytes += MakePixToneObject(&gPtpTable[129], 2, 62); pt_size += MakePixToneObject(&gPtpTable[128], 1, 61);
pixtone_bytes += MakePixToneObject(&gPtpTable[131], 2, 63); pt_size += MakePixToneObject(&gPtpTable[129], 2, 62);
pixtone_bytes += MakePixToneObject(&gPtpTable[133], 2, 64); pt_size += MakePixToneObject(&gPtpTable[131], 2, 63);
pixtone_bytes += MakePixToneObject(&gPtpTable[135], 1, 65); pt_size += MakePixToneObject(&gPtpTable[133], 2, 64);
pixtone_bytes += MakePixToneObject(&gPtpTable[136], 1, 3); pt_size += MakePixToneObject(&gPtpTable[135], 1, 65);
pixtone_bytes += MakePixToneObject(&gPtpTable[137], 1, 6); pt_size += MakePixToneObject(&gPtpTable[136], 1, 3);
pixtone_bytes += MakePixToneObject(&gPtpTable[138], 1, 7); pt_size += MakePixToneObject(&gPtpTable[137], 1, 6);
// sprintf(&v1, "PixTone = %d byte", pixtone_bytes); pt_size += MakePixToneObject(&gPtpTable[138], 1, 7);
return true; sprintf(str, "PixTone = %d byte", pt_size);
// There must have been some kind of console print function here or something
return TRUE;
} }
} }

View file

@ -1,3 +1,5 @@
#pragma once #pragma once
bool LoadGenericData(); #include "WindowsWrapper.h"
BOOL LoadGenericData();

View file

@ -304,7 +304,7 @@ void ChangeSoundPan(int no, int32_t pan)
lpSECONDARYBUFFER[no]->SetPan(10 * (pan - 256)); lpSECONDARYBUFFER[no]->SetPan(10 * (pan - 256));
} }
size_t MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no) int MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no)
{ {
int sample_count = 0; int sample_count = 0;
for (int i = 0; i < ptp_num; ++i) for (int i = 0; i < ptp_num; ++i)

View file

@ -98,4 +98,4 @@ void PlaySoundObject(int no, int mode);
void ChangeSoundFrequency(int no, uint32_t rate); void ChangeSoundFrequency(int no, uint32_t rate);
void ChangeSoundVolume(int no, int32_t volume); void ChangeSoundVolume(int no, int32_t volume);
void ChangeSoundPan(int no, int32_t pan); void ChangeSoundPan(int no, int32_t pan);
size_t MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no); int MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no);