- if the game was saved while the cutscene runner had queued audio lines, when that save was loaded it would crash the game.
- to alleviate I simply deny the player to save while a cutscene audio is playing with the "deny" sound.
- also relieved a bug where audio volume would not be correct after loading a save, by simply updating the volume when a queued level is loaded.
we could probably find the true solution to this crash and allow players to save during a cutscene, however I think this workaround is good for now to avoid crashes.
- store the velocity of a moving object that player is anchored to and apply that to player movement
- player now keeps up with horizontal movement while jumping on moving platform
Fixes#300
- issue was present when you started a new game after changing options in the main menu
- now the sliders all return to original locations when the audio options menu is initialized
Fixes#301
- slider interval problem in #301 was caused by dividing 65536 by a number that it is not evenly divisible by.
- adjusting number of slider ticks did the trick
other old data problem in #301 still remains, but havent reproduced
- made elevator wait for voicelines to finish
- I made this the case on all levels because I watched the elevator sequences on all levels of a playthrough and it always seemed to wait.
- I am not really sure if this is the exact value you were going for with this, but 1.6 seems to match the collision to the top and bottom of the portal cutout.
- larger items like boxes seem to pass through much easier now.
- have not seen any negative side effect from this.
- audio travels through portals now by updating the soundPlayerDetermine3DSound function
- basically instead of just checking distance to the sound producer, we also check sound->portal0+portal1->listener and sound->portal1+portal0->listener to see if any of them are a smaller distance.
- works pretty seamlessly
Fixes#115
- added a function in player that implements portal funneling (video attached)
- added a new menu option in the gameplay tab that allows you to toggle it on or off
- the toggle defaults to on, just like in original portal
- portal funneling is only done on portals facing up
- Master Volume adjusts all sounds including music
- Music slider adjusts only music sounds
- new enum added to insicate which type of sound each sound being played is.
- general menu formatting
because we are now guaranteeing that atleast one english caption file is going to be present, I removed the if statements checking if there was more than 0.
I pretty throughoughly tested and everything seems to be working properly.
- added subtitles.h as dependency in a few places in makefile
- moved making a directory for the subtitles.h/.c to inside the python script
- fixed pathing for a #include
building is now working for me.
- python file added and invoked at make that produces a subtitles.c and subtitles.h synamically based on the closed captions files present inside of the resource/ folder
- added an in-game slider to choose from the languages which were dynamically loaded at time of building.
- if no closecaption files are present at the time of building, the script will still make the subtitles.c/.h but it just wont have any data. This will also result in the two menu items relating to closed captions being removed.
- the names of subtitles in the .yaml files are the upercase versions of the names of subtitles in each subtitle file, so that they are easy to find.
- fixed margins on sides of subtitles
- fixed color of subtitles to be more visible
- sped up the fade in and out animations.
- automated new-line breaks.
Issues I have seen:
- if you load more than like 6 closed caption languages into the resource/ folder the game doesnt seem to want to start up once built. I think this is due to the sheer size of the subtitles.c file that is generated. I would love some feedback on how to make this work a little better/be more memory efficient, as it would be nice to have every closed caption language available on every build.
- languages with very unique characters (chinese, japanese, korean, greek, etc.) do not work because the python codec that is used to decode/encode the files doesnt support them. for now that logic is in a try/except so it wont fail, it will simply skip a language that is not supported.
- added subtitles and all required functions to get them up and running. Subtitles accross all main game dialogue is running now.
- subtitleID's are included as metadata now when a q_sound line is put in a map's .yaml file
- Also added in a toggle button to turn them on or off.
there are only 3 downsides to my method here.
- subtitles must be manually added to their array when new dialogue is added. I included all the english subtitles in a .txt inside of assets folder.
- no punctuation/symbols. once the font is updated though this should be resolved.
- font size is a bit big, however if the font is ever updated to have a size modifier in the future this would be a snap to change.
attached video of it working.
Fixes#262
This PR implements the following quality of life/bug fixes, as well as a new feature:
- fixed a minor bug where you couldnt apply a single button to look forward/look back
- start no longer exits the menu. this is because if the player set a or b buttons as the pause action, they could no longer use the menu's anymore, because it would exit them from the menu.
- adjusted the sensitivity/accelleration sliders down slightly
- added a portal render depth slider in the GameplayOptions menu. this allows the player to adjust the portal render depth in real time. this was in the original game in the menu so I replicated here.
attached video shows new menu additions.
- tweaked portal gun to have a max fire rate, that is tied to its animation speed (used video of portal1 for reference)
- allowed ControllerActionOpenPortal1 and ControllerActionOpenPortal2 actions to be "Holdable" meaning that you can hold down the button and continuously do that action
- made sure two portals cant be shot at once, prohibiting both buttons being held at once.
video attached:
- fixed bug where you couldnt set L R or Z to an action because it would just change tabs
- instead of a global check for tab switch, each indiviudal menu tab determines if it should move to the next tab
- added an "invert camera yaw" option
Implements #218
this bug was caused by too many sounds playing at once. to alleviate this two things were implemented
- lowered the max number of active sounds from 16 to 12, this based on my testing eliminated all crackling sounds
- made an array of sound clips that are "skippable". also added a function to check if a given sound ID is skippable based on the list.
the idea here is there are some sounds (footsteps, portal shooting, portal entering, etc.) that are acceptable to be skipped. there are other
sounds that are more important to not skip (glados speaking, menu sounds, buttons pressed, etc.). by marking some as skippable, those sounds
will not be able to be played after the number of active sounds passes a MAX_SKIPPABLE_SOUNDS threshold. this makes the event of skipping an
important sound like glados speaking MUCH less likely. as more sound effects are added to the game we will need to make sure to add them to
that list if they are less important.
Fixes#183
chamber numbers displayed in both the save and load screen menu's are now the correct number.
I acheived this by making a function that creates a mapping from level/room numbers -> chamber numbers
this mapping will need to be updated when new levels are added to the game, however its such low overhead that I think its okay. another option would be to store the chamber number when passing in or out of elevators and saving that number as the player progresses.
screenshots (of a couple chambers) attached.
all chambers verified to be working.
previously the HUD was conforming to the PC version of the game (orange on right, blue on left), however because we are targeting the console version for the remake the HUD colors have now been inverted (blue on right, orange on left)
fully tested on emulator, new colored HUD images attached.