mirror of https://github.com/blawar/ooot.git
Compare commits
21 Commits
abcf468126
...
98203e3c23
Author | SHA1 | Date |
---|---|---|
RyzenDew | 98203e3c23 | |
Amaro Martínez | 303e9aa34f | |
RyzenDew | 0b061406e0 | |
RyzenDew | d9c19b5345 | |
RyzenDew | 634dea781c | |
Amaro Martínez | ea6d2f8c1c | |
RyzenDew | 5ccc7d3cb8 | |
RyzenDew | 28ff18b683 | |
Amaro Martínez | 5b897e045e | |
Amaro Martínez | bf14e560e1 | |
Amaro Martínez | 5981cf6194 | |
Amaro Martínez | 1ef0f073b0 | |
Amaro Martínez | 800320b2d4 | |
Amaro Martínez | b34d989bdf | |
Amaro Martínez | 3de84b662c | |
Amaro Martínez | b6182eeb5e | |
Amaro Martínez | df534e32e2 | |
Amaro Martínez | 2fa1357c10 | |
Amaro Martínez | c54d112782 | |
Amaro Martínez | ce1a68d1e5 | |
RyzenDew | bb69b09ec2 |
91
README.md
91
README.md
|
@ -8,7 +8,21 @@
|
|||
|
||||
**Discord:** <https://discord.com/invite/8tktBEhbZm>
|
||||
|
||||
[MattsCreative](http://www.youtube.com/channel/UCzoVL1aVjec7YKPeG59xKFg) has a great video tutorial on how to compile this project here: <https://youtu.be/swv1Tv-kjsU> and Compiling the dev branch to enable 30-120fps here https://www.youtube.com/watch?v=khiLvG3psPM
|
||||
## How to Acquire the ROM needed
|
||||
|
||||
You must get that on your own and please do not ask for that in the discord due to discord's TOS.
|
||||
|
||||
PAL 1.0 MD5
|
||||
|
||||
`9526b263b60577d8ed22fb7a33c2facd`
|
||||
|
||||
EUR MQD MD5
|
||||
|
||||
`f0b7f35375f9cc8ca1b2d59d78e35405`
|
||||
|
||||
[MattsCreative](https://youtu.be/k1fjHLU9gGU) has a great videos and tutorial on how to compile this project Below:
|
||||
|
||||
[How to use OOT Builder](https://youtu.be/pZi0r6g3YJ8)
|
||||
|
||||
## FAQ
|
||||
|
||||
|
@ -41,34 +55,6 @@ The current main contributers of this project are [blawar](https://github.com/bl
|
|||
|
||||
You must get that on your own and please do not ask for that in the discord due to discord's TOS.
|
||||
|
||||
PAL 1.0 MD5
|
||||
|
||||
`9526b263b60577d8ed22fb7a33c2facd`
|
||||
|
||||
EUR MQD MD5
|
||||
|
||||
`f0b7f35375f9cc8ca1b2d59d78e35405`
|
||||
|
||||
[MattsCreative](https://youtu.be/k1fjHLU9gGU) has a great videos and tutorial on how to compile this project Below:
|
||||
|
||||
[How to use OOT Builder](https://youtu.be/pZi0r6g3YJ8)
|
||||
|
||||
### The Easy Way OOT Builder
|
||||
|
||||
Go here `https://github.com/nitrostemp/OOOT-HELPER-GUI/releases/`
|
||||
|
||||
Grab the newest release and unzip it.
|
||||
|
||||
Place Your rom next to the `OOOT GUI.exe`
|
||||
|
||||
next run `OOOT GUI.exe` as Admin
|
||||
|
||||
click `Install tools , clone and compile`
|
||||
|
||||
![image](https://user-images.githubusercontent.com/84041391/169138316-9abebef8-df20-4621-b36d-c68e8383cee7.png)
|
||||
|
||||
And enjoy the ride.
|
||||
|
||||
### Windows and Required Programs
|
||||
|
||||
Step one install all required Programs below
|
||||
|
@ -78,7 +64,17 @@ Step one install all required Programs below
|
|||
![68747470733a2f2f692e696d6775722e636f6d2f4544326c5139512e706e67](https://user-images.githubusercontent.com/84041391/163289314-75bf3467-9506-4df6-bdf8-ece6a7114792.png)
|
||||
|
||||
|
||||
[Git](https://git-scm.com/) **Choose x64 Build and Use the git bash to clone the repo and to run setup.py**
|
||||
[Git Deskktop](https://central.github.com/deployments/desktop/desktop/latest/win32) **Install with your github account and clone using URL**
|
||||
|
||||
![image](https://user-images.githubusercontent.com/84041391/233754962-5c28c5e7-9c91-4ca3-8862-91f79e68dbb9.png)
|
||||
|
||||
Next we switch to Dev branch
|
||||
|
||||
![image](https://user-images.githubusercontent.com/84041391/233754991-bb94b133-74d5-4e2c-9563-cf5279d93202.png)
|
||||
|
||||
Next click Fetch
|
||||
|
||||
![image](https://user-images.githubusercontent.com/84041391/233755011-a14ef259-0367-4a74-8cfc-781d1a560358.png)
|
||||
|
||||
[Visual Studio Community 2022](https://visualstudio.microsoft.com/vs/community/) **During setup click C++ development**
|
||||
![vcc](https://user-images.githubusercontent.com/84041391/163289227-6fdfd616-edeb-4314-b29c-9a5ed50aa1c5.png)
|
||||
|
@ -99,21 +95,20 @@ make sure baserom_original.z64 or baserom_original.n64 is inside the correct fol
|
|||
![rom pal](https://user-images.githubusercontent.com/84041391/163308550-bc9afea2-ce38-4021-bafc-2a83c63d9b85.png)
|
||||
|
||||
|
||||
iF the roms hash is not correct it won't extract the assets and continue. MD5 `9526b263b60577d8ed22fb7a33c2facd`
|
||||
iF the roms hash is not correct it won't extract the assets and continue. `"hash_md5": ["c02c1d79679f7ceb9a3bde55fff8aa13"] `
|
||||
|
||||
Open git Bash or command prompt and type:
|
||||
``git clone --recursive https://github.com/blawar/ooot.git``
|
||||
Open command prompt and type:
|
||||
|
||||
![git clone](https://user-images.githubusercontent.com/84041391/163308082-4af59ab6-4956-405e-96a3-63b6407b32be.png)
|
||||
```
|
||||
cd .\source\repo\ooot
|
||||
```
|
||||
|
||||
![image](https://user-images.githubusercontent.com/84041391/233755375-b20fd588-1879-4f8f-a2cb-c5c1bd590ea3.png)
|
||||
|
||||
|
||||
after it's done type `cd ooot`
|
||||
after it's done type:
|
||||
|
||||
![cd ooot](https://user-images.githubusercontent.com/84041391/163308108-2c0bb792-9535-41b3-acd1-942730183f3e.png)
|
||||
|
||||
run this command next to extract the assets from the rom. (baserom_original.z64 must exist in the directory `\ooot\roms\PAL_1.0\`)
|
||||
|
||||
![pal](https://user-images.githubusercontent.com/84041391/163309103-8936c210-5532-45ab-b3f1-f3f21b04f1f7.png)
|
||||
![image](https://user-images.githubusercontent.com/84041391/233755385-f85fbc3b-e1ad-4766-aa9e-0c364356b44c.png)
|
||||
|
||||
```
|
||||
python setup.py -b PAL_1.0
|
||||
|
@ -128,21 +123,19 @@ make sure baserom_original.z64 or baserom_original.n64 is inside the correct fol
|
|||
![rom mq](https://user-images.githubusercontent.com/84041391/163308745-19d57f25-8ec7-45fb-9874-c0ddd865c50f.png)
|
||||
|
||||
|
||||
if the roms hash is not correct it won't extract the assets and continue. MD5 `f0b7f35375f9cc8ca1b2d59d78e35405`
|
||||
if the roms hash is not correct it won't extract the assets and continue. `"hash_md5": ["f0b7f35375f9cc8ca1b2d59d78e35405", "8ca71e87de4ce5e9f6ec916202a623e9"`
|
||||
|
||||
Open git Bash or command prompt and type:
|
||||
Open command prompt and type:
|
||||
|
||||
``git clone --recursive https://github.com/blawar/ooot.git``
|
||||
```
|
||||
cd .\source\repo\ooot
|
||||
```
|
||||
|
||||
![git clone](https://user-images.githubusercontent.com/84041391/163308776-13aa98c0-7e5a-4e00-9b2c-4c44e67ecc89.png)
|
||||
|
||||
after it's done type `cd ooot`
|
||||
|
||||
![cd ooot](https://user-images.githubusercontent.com/84041391/163308819-37bec5b7-1b30-4964-bacf-6213d45a4c01.png)
|
||||
![image](https://user-images.githubusercontent.com/84041391/233755375-b20fd588-1879-4f8f-a2cb-c5c1bd590ea3.png)
|
||||
|
||||
run this command next to extract the assets from the rom. (baserom_original.z64 must exist in the directory `\ooot\roms\EUR_MQD\`)
|
||||
|
||||
![mq](https://user-images.githubusercontent.com/84041391/163309044-3956df29-5e0c-4325-8d53-c9009199ebd5.png)
|
||||
![image](https://user-images.githubusercontent.com/84041391/233755458-da107be7-65ab-4bd1-b897-3f83ea3a31e5.png)
|
||||
|
||||
```
|
||||
python setup.py -b EUR_MQD
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
|
||||
#define PAGE_COUNT 6
|
||||
#if PAGE_COUNT == 6
|
||||
|
|
|
@ -24,8 +24,8 @@ enum TextBoxPosition
|
|||
{
|
||||
/* 0 */ TEXTBOX_POS_VARIABLE,
|
||||
/* 1 */ TEXTBOX_POS_TOP,
|
||||
/* 2 */ TEXTBOX_POS_BOTTOM,
|
||||
/* 3 */ TEXTBOX_POS_MIDDLE
|
||||
/* 2 */ TEXTBOX_POS_MIDDLE,
|
||||
/* 3 */ TEXTBOX_POS_BOTTOM
|
||||
};
|
||||
|
||||
struct MessageTableEntry
|
||||
|
|
|
@ -61,7 +61,7 @@ void aEnvSetup2Impl(uint16_t initial_vol_left, uint16_t initial_vol_right);
|
|||
void aEnvMixerImpl(uint16_t in_addr, uint16_t n_samples, bool swap_reverb, bool neg_3, bool neg_2, bool neg_left, bool neg_right, int32_t wet_dry_addr, u32 unk);
|
||||
void aMixImpl(uint16_t count, int16_t gain, uint16_t in_addr, uint16_t out_addr);
|
||||
void aS8DecImpl(uint8_t flags, ADPCM_STATE state);
|
||||
void aAddMixerImpl(uint16_t in_addr, uint16_t out_addr, uint16_t count);
|
||||
void aAddMixerImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr);
|
||||
void aDuplicateImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr);
|
||||
void aResampleZohImpl(uint16_t pitch, uint16_t start_fract);
|
||||
void aInterlImpl(uint16_t in_addr, uint16_t out_addr, uint16_t n_samples);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -61,7 +61,7 @@
|
|||
<DList Name="object_ganon_DL_00C518" Offset="0xC518"/>
|
||||
<DList Name="gDorfOpenHandDL" Offset="0xC9E8"/>
|
||||
|
||||
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="40" Offset="0xCF00"/>
|
||||
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="120" Offset="0xCF00"/>
|
||||
|
||||
<Animation Name="object_ganon_Anim_011348" Offset="0x11348"/>
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<DList Name="object_ganon_DL_00C518" Offset="0xC518"/>
|
||||
<DList Name="gDorfOpenHandDL" Offset="0xC9E8"/>
|
||||
|
||||
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="40" Offset="0xCF00"/>
|
||||
<Texture Name="gDorfTitleCardTex" OutName="ganondorf_title_card" Format="i8" Width="128" Height="120" Offset="0xCF00"/>
|
||||
|
||||
<Animation Name="object_ganon_Anim_011348" Offset="0x11348"/>
|
||||
|
||||
|
|
|
@ -3325,6 +3325,8 @@ void Message_DrawMain(GlobalContext* globalCtx, Gfx** p)
|
|||
*p = gfx;
|
||||
}
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
/**
|
||||
* If the s16 variable pointed to by `var` changes in value, a black bar and white box
|
||||
* are briefly drawn onto the screen. It can only watch one variable per build due to
|
||||
|
@ -3380,6 +3382,7 @@ void Message_DrawDebugText(GlobalContext* globalCtx, Gfx** p)
|
|||
*p = GfxPrint_Close(&printer);
|
||||
GfxPrint_Destroy(&printer);
|
||||
}
|
||||
#endif
|
||||
|
||||
void Message_Draw(GlobalContext* globalCtx)
|
||||
{
|
||||
|
@ -3389,6 +3392,7 @@ void Message_Draw(GlobalContext* globalCtx)
|
|||
|
||||
OPEN_DISPS(globalCtx->gfxCtx, "../z_message_PAL.c", 3554);
|
||||
|
||||
#ifdef _DEBUG
|
||||
watchVar = gSaveContext.scarecrowCustomSongSet;
|
||||
Message_DrawDebugVariableChanged(&watchVar, globalCtx->gfxCtx);
|
||||
if(BREG(0) != 0 && globalCtx->msgCtx.textId != 0)
|
||||
|
@ -3400,6 +3404,8 @@ void Message_Draw(GlobalContext* globalCtx)
|
|||
Graph_BranchDlist(polyOpaP, plusOne);
|
||||
POLY_OPA_DISP = plusOne;
|
||||
}
|
||||
#endif
|
||||
|
||||
plusOne = Graph_GfxPlusOne(polyOpaP = POLY_OPA_DISP);
|
||||
gSPDisplayList(OVERLAY_DISP++, plusOne);
|
||||
Message_DrawMain(globalCtx, &plusOne);
|
||||
|
@ -3414,13 +3420,13 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
static s16 sTextboxXPositions[] = {
|
||||
34, 34, 34, 34, 34, 34,
|
||||
};
|
||||
static s16 sTextboxMidYPositions[] = {
|
||||
static s16 sTextboxLowerYPositions[] = {
|
||||
142, 142, 142, 142, 174, 142,
|
||||
};
|
||||
static s16 sTextboxUpperYPositions[] = {
|
||||
38, 38, 38, 38, 174, 38,
|
||||
};
|
||||
static s16 sTextboxLowerYPositions[] = {
|
||||
static s16 sTextboxMidYPositions[] = {
|
||||
90, 90, 90, 90, 174, 90,
|
||||
};
|
||||
static s16 sTextboxEndIconYOffset[] = {
|
||||
|
@ -3442,6 +3448,7 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
s16 playerFocusScreenPosY;
|
||||
s16 actorFocusScreenPosY;
|
||||
|
||||
#ifdef _DEBUG
|
||||
if(BREG(0) != 0)
|
||||
{
|
||||
if(CHECK_BTN_ALL(input->press.button, BTN_DDOWN) && CHECK_BTN_ALL(input->cur.button, BTN_L))
|
||||
|
@ -3473,6 +3480,7 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if(msgCtx->msgLength == 0)
|
||||
{
|
||||
|
@ -3532,7 +3540,7 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
{
|
||||
if(averageY < XREG(92))
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
|
||||
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3543,7 +3551,7 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
{
|
||||
if(averageY < XREG(93))
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
|
||||
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3554,7 +3562,7 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
{
|
||||
if(averageY < XREG(94))
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
|
||||
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3562,20 +3570,17 @@ void Message_Update(GlobalContext* globalCtx)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if(msgCtx->textBoxPos == TEXTBOX_POS_TOP)
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxUpperYPositions[var];
|
||||
}
|
||||
else if(msgCtx->textBoxPos == TEXTBOX_POS_MIDDLE)
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
|
||||
}
|
||||
else
|
||||
{
|
||||
if(msgCtx->textBoxPos == TEXTBOX_POS_TOP)
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxUpperYPositions[var];
|
||||
}
|
||||
else if(msgCtx->textBoxPos == TEXTBOX_POS_BOTTOM)
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
|
||||
}
|
||||
else
|
||||
{
|
||||
R_TEXTBOX_Y_TARGET = sTextboxMidYPositions[var];
|
||||
}
|
||||
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
|
||||
}
|
||||
|
||||
R_TEXTBOX_X_TARGET = sTextboxXPositions[var];
|
||||
|
|
|
@ -1915,6 +1915,10 @@ void KaleidoScope_DrawPages(GlobalContext* globalCtx, GraphicsContext* gfxCtx)
|
|||
|
||||
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sPromptChoiceTexs[gSaveContext.language][1], 48, 16, 16);
|
||||
}
|
||||
else if(((pauseCtx->state == 7 && pauseCtx->unk_1EC >= 4) || pauseCtx->state == 0xF) && oot::config().game().restoreSaveConfirmation())
|
||||
{
|
||||
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sSaveConfirmationTexs[gSaveContext.language], 152, 16, 0);
|
||||
}
|
||||
else if((pauseCtx->state != 7) || (pauseCtx->unk_1EC < 4))
|
||||
{
|
||||
if((pauseCtx->state != 0xF) && ((pauseCtx->state == 0x10) || (pauseCtx->state == 0x11)))
|
||||
|
@ -3163,7 +3167,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
|
|||
void KaleidoScope_Update(GlobalContext * globalCtx)
|
||||
{
|
||||
static s16 D_8082B258 = 0;
|
||||
static s16 D_8082B25C = 10;
|
||||
static s16 timeLeft = 10; // D_8082B25C
|
||||
static s16 D_8082B260 = 0;
|
||||
PauseContext* pauseCtx = &globalCtx->pauseCtx;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
|
@ -3720,21 +3724,21 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
|
|||
{
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gAudioDefaultPos, 4, &D_801333E0, &D_801333E0, &gReverbAdd2);
|
||||
D_8082B258 = 0;
|
||||
D_8082B25C = 30;
|
||||
timeLeft = 30;
|
||||
pauseCtx->unk_1E4 = 6;
|
||||
}
|
||||
else if(pauseCtx->ocarinaStaff->state == 0xFF)
|
||||
{
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_OCARINA_ERROR, &gAudioDefaultPos, 4, &D_801333E0, &D_801333E0, &gReverbAdd2);
|
||||
D_8082B258 = 4;
|
||||
D_8082B25C = 20;
|
||||
timeLeft = 20;
|
||||
pauseCtx->unk_1E4 = 6;
|
||||
}
|
||||
break;
|
||||
|
||||
case 6:
|
||||
D_8082B25C--;
|
||||
if(D_8082B25C == 0)
|
||||
timeLeft--;
|
||||
if(timeLeft == 0)
|
||||
{
|
||||
pauseCtx->unk_1E4 = D_8082B258;
|
||||
if(pauseCtx->unk_1E4 == 0)
|
||||
|
@ -3817,7 +3821,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
|
|||
gSaveContext.savedSceneNum = globalCtx->sceneNum;
|
||||
gSaveContext.save();
|
||||
pauseCtx->unk_1EC = 4;
|
||||
D_8082B25C = 3;
|
||||
timeLeft = oot::config().game().restoreSaveConfirmation() ? 90 /* 3 s */ : 3 /* 0.1 s */;
|
||||
}
|
||||
}
|
||||
else if(CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B))
|
||||
|
@ -3834,7 +3838,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
if(CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START) || (--D_8082B25C == 0))
|
||||
if(CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START) || (--timeLeft == 0))
|
||||
{
|
||||
Interface_SetDoAction(globalCtx, DO_ACTION_NONE);
|
||||
gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[3] = BTN_ENABLED;
|
||||
|
@ -4067,19 +4071,19 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount)
|
|||
gSaveContext.savedSceneNum = globalCtx->sceneNum;
|
||||
gSaveContext.save();
|
||||
pauseCtx->state = 0xF;
|
||||
D_8082B25C = 3;
|
||||
timeLeft = oot::config().game().restoreSaveConfirmation() ? 90 /* 3 s */ : 3 /* 0.1 s */;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xF:
|
||||
D_8082B25C--;
|
||||
if(D_8082B25C == 0)
|
||||
timeLeft--;
|
||||
if(timeLeft == 0)
|
||||
{
|
||||
pauseCtx->state = 0x10;
|
||||
gameOverCtx->state++;
|
||||
}
|
||||
else if((D_8082B25C <= 80) && (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START)))
|
||||
else if((timeLeft <= 80) && (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START)))
|
||||
{
|
||||
pauseCtx->state = 0x10;
|
||||
gameOverCtx->state++;
|
||||
|
|
|
@ -405,7 +405,7 @@ void aS8DecImpl(uint8_t flags, ADPCM_STATE state)
|
|||
memcpy(state, out - 16, 16 * sizeof(int16_t));
|
||||
}
|
||||
|
||||
void aAddMixerImpl(uint16_t in_addr, uint16_t out_addr, uint16_t count)
|
||||
void aAddMixerImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr)
|
||||
{
|
||||
int16_t* in = BUF_S16(in_addr);
|
||||
int16_t* out = BUF_S16(out_addr);
|
||||
|
|
|
@ -208,6 +208,8 @@ namespace oot
|
|||
json::setBool(container, "forceMouse", forceMouse(), allocator);
|
||||
json::setBool(container, "enableExtendedOptionsMenu", enableExtendedOptionsMenu(), allocator);
|
||||
json::setBool(container, "enableDebugLevelSelect", enablDebugLevelSelect(), allocator);
|
||||
json::setBool(container, "restoreSaveConfirmation", restoreSaveConfirmation(), allocator);
|
||||
json::setBool(container, "pauseOnLostFocus", pauseOnLostFocus(), allocator);
|
||||
|
||||
json::setU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames(), allocator);
|
||||
json::setU64(container, "textScrollSpeed", textScrollSpeed(), allocator);
|
||||
|
@ -233,6 +235,8 @@ namespace oot
|
|||
json::getBool(container, "forceMouse", forceMouse());
|
||||
json::getBool(container, "enableExtendedOptionsMenu", enableExtendedOptionsMenu());
|
||||
json::getBool(container, "enableDebugLevelSelect", enablDebugLevelSelect());
|
||||
json::getBool(container, "restoreSaveConfirmation", restoreSaveConfirmation());
|
||||
json::getBool(container, "pauseOnLostFocus", pauseOnLostFocus());
|
||||
|
||||
json::getU64(container, "pauseExitInputClearFrames", pauseExitInputClearFrames());
|
||||
json::getU64(container, "fastForwardSpeed", fastForwardSpeed());
|
||||
|
|
|
@ -505,6 +505,26 @@ namespace oot
|
|||
|
||||
float framerate() const;
|
||||
|
||||
const bool& pauseOnLostFocus() const
|
||||
{
|
||||
return m_pauseOnLostFocus;
|
||||
}
|
||||
|
||||
bool& pauseOnLostFocus()
|
||||
{
|
||||
return m_pauseOnLostFocus;
|
||||
}
|
||||
|
||||
const bool& restoreSaveConfirmation() const
|
||||
{
|
||||
return m_restoreSaveConfirmation;
|
||||
}
|
||||
|
||||
bool& restoreSaveConfirmation()
|
||||
{
|
||||
return m_restoreSaveConfirmation;
|
||||
}
|
||||
|
||||
protected:
|
||||
bool m_graphicsEnabled = true;
|
||||
bool m_audioEnabled = true;
|
||||
|
@ -523,6 +543,8 @@ namespace oot
|
|||
u64 m_textScrollSpeed = 1;
|
||||
Language m_language = LANGUAGE_ENG;
|
||||
u64 m_fastForwardSpeed = 5;
|
||||
bool m_pauseOnLostFocus = true;
|
||||
bool m_restoreSaveConfirmation = true;
|
||||
};
|
||||
|
||||
class Base
|
||||
|
|
|
@ -395,14 +395,17 @@ namespace platform::window
|
|||
}
|
||||
if(event.window.event == SDL_WINDOWEVENT_FOCUS_LOST || event.window.event == SDL_WINDOWEVENT_MINIMIZED)
|
||||
{
|
||||
SDL_SetRelativeMouseMode(SDL_FALSE);
|
||||
AudioMgr_Pause(true);
|
||||
do
|
||||
if(oot::config().game().pauseOnLostFocus())
|
||||
{
|
||||
SDL_PollEvent(&event);
|
||||
_sleep(100);
|
||||
}while(event.window.event != SDL_WINDOWEVENT_FOCUS_GAINED);
|
||||
AudioMgr_Pause(false);
|
||||
SDL_SetRelativeMouseMode(SDL_FALSE);
|
||||
AudioMgr_Pause(true);
|
||||
do
|
||||
{
|
||||
SDL_PollEvent(&event);
|
||||
_sleep(100);
|
||||
}while(event.window.event != SDL_WINDOWEVENT_FOCUS_GAINED);
|
||||
AudioMgr_Pause(false);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef ENABLE_MOUSE
|
||||
|
|
|
@ -257,8 +257,8 @@ textbox_type = {
|
|||
textbox_ypos = {
|
||||
0: "TEXTBOX_POS_VARIABLE",
|
||||
1: "TEXTBOX_POS_TOP",
|
||||
2: "TEXTBOX_POS_BOTTOM",
|
||||
3: "TEXTBOX_POS_MIDDLE",
|
||||
2: "TEXTBOX_POS_MIDDLE",
|
||||
3: "TEXTBOX_POS_BOTTOM",
|
||||
}
|
||||
|
||||
# message entry tables vrom addresses
|
||||
|
|
|
@ -71,6 +71,7 @@
|
|||
<LinkTimeCodeGeneration Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RegisterOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</RegisterOutput>
|
||||
<RegisterOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</RegisterOutput>
|
||||
<GenerateDebugInformation Condition="'$(Configuration)'=='Release'">false</GenerateDebugInformation>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\RaphnetAdapter\hidapi-win\include</AdditionalIncludeDirectories>
|
||||
|
|
|
@ -76,6 +76,11 @@
|
|||
<TargetName>oot_assets</TargetName>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\assets\$(buildrom)\misc\link_animetion\link_animetion.cpp" />
|
||||
|
|
|
@ -69,38 +69,13 @@
|
|||
<LinkTimeCodeGeneration Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\ $(SolutionDir)$(Configuration)\</Command>
|
||||
<Command Condition="'$(Platform)'=='Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\* $(SolutionDir)$(Configuration)\</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x86\ $(SolutionDir)$(Configuration)\</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\ $(SolutionDir)$(Configuration)\</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\ $(SolutionDir)$(Configuration)\</Command>
|
||||
<Command Condition="'$(Platform)'=='x64'">xcopy /y $(SolutionDir)..\RaphnetAdapter\hidapi-win\x64\* $(SolutionDir)$(Configuration)\</Command>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
|
||||
mkdir $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
|
||||
</PreBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
|
||||
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
|
||||
</PreBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
|
||||
mkdir $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
|
||||
</PreBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.12.0/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip')"
|
||||
cd $(SolutionDir)..\$(ProjectName)\hidapi-win
|
||||
tar -xf $(SolutionDir)..\$(ProjectName)\hidapi-win.zip</Command>
|
||||
<Command>powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/libusb/hidapi/releases/download/hidapi-0.13.1/hidapi-win.zip', '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip'); Expand-Archive -Path '$(SolutionDir)..\$(ProjectName)\hidapi-win.zip' -DestinationPath '$(SolutionDir)..\$(ProjectName)\hidapi-win' -Force"</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
|
Loading…
Reference in New Issue