Site Tools


format:esd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
format:esd [2025/04/30 02:38] – [Engine Details] metalcrowformat:esd [2025/05/04 21:58] (current) – [Engine Details] metalcrow
Line 51: Line 51:
 ===== Engine Details ===== ===== Engine Details =====
  
-When ezstate wants to perform an animation (action), it calls EzStateActionEvent_Execute_By_CommandId+EzState::detail::EzStateMachineImpl::parseEzStateState is the function that is called every frame to compute the next actions for the current state.
  
-This is called for each ActionEvent in EzState::detail::EzStateMachineImpl->field28_0xc0.EzStateActionEvent_List when parseEzStateCommandCall is called+This then calls the following functions to process the sections of the stateparseEzStateConditions, parseEzStateEntryCommands, parseEzStateWhileCommands, parseEzStateExitCommands
  
-That is called from parseEzStateEntryCommands->EzState::detail::EzStateMachineImpl::parseEzStateState which is the function that is called every frame to compute the next actions for the current state.+These take a state, and run the corresponding sections for this state. For each command in the section, it calls parseEzStateCommandCall
  
-Example: State 0 (the idle state), checks condition (index 0xf) every frame, and that condition checks if the player has requested to roll and returns a new state if so. A breakpoint right after parseEzStateConditions->checkForTriggeredCondition that checks those 3 values will only trigger on roll.+For executing the bytecode for each state, this maps to the executeEzStateBytecode function. The [[https://gist.github.com/JKAnderson/e3fd38d4efd5f3350e13a613319b8bed|bytecode operations]] then map to a list of functions at 141a8c620. 
 + 
 +      * For example, when ezstate wants to do something related to the game state, it calls a function using an ID. This maps to EzStateActionEnv_QueryOperation 
 + 
 + 
 +Example: State 0 (the idle state), checks the conditions of state B0D8 every frame, and that condition checks if the player has requested to roll and returns a new state if so. A breakpoint right after parseEzStateConditions->checkForTriggeredCondition that checks those 3 values will only trigger on roll.
 ===== Editors ===== ===== Editors =====
  
format/esd.1745977098.txt.gz · Last modified: by metalcrow