Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
f50bd48
self setup and others
LivewireCB Mar 18, 2025
6889b80
Merge branch 'main' into dev
LivewireCB Mar 18, 2025
935bf49
zNPC_AnimTable_KingJelly
LivewireCB Mar 19, 2025
ed0e484
fix
LivewireCB Mar 19, 2025
7c83718
removed leftover junk from intially starting the function
LivewireCB Mar 19, 2025
aa52c8a
Merge branch 'main' into dev
LivewireCB Mar 19, 2025
8ef3111
ZNPC_AnimTable_BossSB2 - 73% code match
LivewireCB Mar 20, 2025
2b0e9a9
Merge branch 'main' into dev
LivewireCB Mar 20, 2025
58b715b
Dutchman anim table should be complete, removed some junk from zNPCTy…
LivewireCB Mar 20, 2025
47b834d
Merge branch 'main' into dev
LivewireCB Mar 23, 2025
a48a40f
Anim Tables
LivewireCB Mar 23, 2025
41af867
worst push ever
LivewireCB Mar 24, 2025
44288bc
BossSandy Animtable
LivewireCB Mar 24, 2025
166b339
Merge branch 'main' into dev
LivewireCB Mar 24, 2025
be630ce
ZNPCTypeVillager
LivewireCB Mar 25, 2025
c60a37c
Merge branch 'main' into dev
LivewireCB Mar 25, 2025
4c7e35a
ZNPCTypeVillager functions
LivewireCB Mar 26, 2025
f70f100
Merge branch 'main' into dev
LivewireCB Mar 26, 2025
09177d6
Merge branch 'main' into dev
LivewireCB Mar 27, 2025
1620763
ship it, YOLO
mattbruv Mar 29, 2025
7892da4
Merge branch 'main' into dev
LivewireCB Mar 29, 2025
438c0c7
test commit
LivewireCB Mar 29, 2025
14fa5eb
Merge branch 'main' of https://github.com/bfbbdecomp/bfbb
LivewireCB Mar 29, 2025
869d131
test
LivewireCB Mar 29, 2025
2d5d24a
Merge branch 'main' into dev
LivewireCB Mar 29, 2025
a4121cc
Merge branch 'main' of https://github.com/bfbbdecomp/bfbb
LivewireCB Mar 29, 2025
7d1abcb
Merge branch 'main' of https://github.com/bfbbdecomp/bfbb
LivewireCB Mar 29, 2025
26ca3fc
Merge branch 'main' into dev
LivewireCB Mar 29, 2025
fe56317
Merge branch 'main' into dev
mattbruv Mar 29, 2025
db0369a
add permissions
mattbruv Mar 29, 2025
03a8c26
CI
mattbruv Mar 29, 2025
f54b8a3
asdoijfaoisdjf
mattbruv Mar 29, 2025
e1aec2f
ijasdoifj
mattbruv Mar 29, 2025
a7860c8
ojaspdfijasdfijUPPERCASE test
mattbruv Mar 29, 2025
1199753
KFUCK
mattbruv Mar 29, 2025
6d514aa
ODIO MI PUTA VIDA DIOS MATAME YA
mattbruv Mar 29, 2025
0547e08
FUCOI:JVSIDJklj
mattbruv Mar 29, 2025
8582d38
IJSDOFIJPSDOIFJ
mattbruv Mar 29, 2025
fe15f03
aisdj FUCK FUCK FUCK
mattbruv Mar 29, 2025
a38192d
fuck FUCK !fuck FUCK !fuck FUCK !fuck FUCK !fuck FUCK !fuck FUCK !fuc…
mattbruv Mar 29, 2025
f2942a0
Foiapjsdoifjaoisdjfaoidsjfio
mattbruv Mar 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
16 changes: 6 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ jobs:
- build
- build-previous
if: github.event_name == 'pull_request'
permissions:
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
Expand All @@ -228,13 +230,7 @@ jobs:
run: |
./ok --previous artifacts/previous.json --current artifacts/progress.json pr > pr.txt
cat pr.txt

- name: Post comment to PR
run: |
PR_NUMBER=$(jq --raw-output .pull_request.number $GITHUB_EVENT_PATH)
COMMENT_BODY=$(cat pr.txt)
curl -X POST \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/json" \
--data "{\"body\":\"$COMMENT_BODY\"}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$PR_NUMBER/comments"
- name: PR comment with file
uses: thollander/actions-comment-pull-request@v3
with:
file-path: pr.txt
62 changes: 61 additions & 1 deletion src/SB/Game/zNPCTypeKingJelly.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ xVec3* zNPCKingJelly::get_bottom()

void zNPCKingJelly::Setup()
{
this->children_size = 0; //Called for address 0x88C, Started plugging things in till it matched.
this->children_size = 0; //0x88C
load_model();
load_curtain_model();
zNPCSubBoss::Setup();
Expand All @@ -165,6 +165,11 @@ void zNPCKingJelly::BUpdate(xVec3* pos)
zNPCCommon::BUpdate(pos);
}

void zNPCKingJelly::RenderExtra()
{
zNPCKingJelly::render_debug();
}

void zNPCKingJelly::SelfSetup()
{
xBehaveMgr* bmgr;
Expand Down Expand Up @@ -302,6 +307,36 @@ void zNPCKingJelly::create_tentacle_lightning()
{
}

void zNPCKingJelly::destroy_tentacle_lightning()
{
for (S32 i = 0; i < 7; i++)
{
if (tentacle_lightning[i])
{
zLightningKill(tentacle_lightning[i]);
tentacle_lightning[i] = NULL;
}
}
}

void zNPCKingJelly::refresh_tentacle_points()
{
S32 tempvar = 0;
do
{
refresh_tentacle_points(tempvar);
tempvar = tempvar + 1;
} while (tempvar < 7);
}

void zNPCKingJelly::destroy_ambient_rings()
{
for (S32 i = 0; i < 3; i++)
{
ambient_rings[i].destroy();
}
}

void zNPCKingJelly::generate_spawn_particles()
{
}
Expand All @@ -324,12 +359,37 @@ void zNPCKingJelly::load_curtain_model()

// }

// void zNPCKingJelly::start_blink()
// {
// blink.active = 1;
// blink.delay = 0;
// blink.count = 0;
// model = 0;
// render = 0;
// this = 0;

// // 0x24 model
// // 0x44 render
// }

S32 zNPCGoalKJDamage::Process(en_trantype* trantype, F32 dt, void* updCtxt, xScene* xscn)
{
// TODO
return 0;
}

S32 zNPCGoalKJShockGround::Exit(F32 dt, void* updCtxt)
{
zNPCKingJelly& kj = *(zNPCKingJelly*)this->psyche->clt_owner;
if (kj.flag.charging != 0)
{
kj.end_charge();
}
kj.create_ambient_rings();
kj.disable_tentacle_damage = 0;
return xGoal::Exit(dt, updCtxt);
}

S32 zNPCGoalKJDamage::Enter(F32 dt, void* updCtxt)
{
// TODO
Expand Down
26 changes: 22 additions & 4 deletions src/SB/Game/zNPCTypeKingJelly.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ struct lightning_ring
F32 segment_length;
F32 min_height;
F32 max_height;
F32 min_radius;
F32 min_radius; //0x1c?
F32 max_radius; //0x20?
F32 delay;
F32 accel;
Expand All @@ -38,11 +38,14 @@ struct lightning_ring
F32 rot_radius;
F32 degrees; //0x58?
} property;
zLightning* arcs[8];
zLightning* arcs[8]; //0x78
U32 arcs_size; //0x7c

void (*update_callback)(lightning_ring&, F32);

void create();
void destroy();
static void destroy(S32);
};

struct zNPCKingJelly : zNPCSubBoss
Expand Down Expand Up @@ -110,7 +113,7 @@ struct zNPCKingJelly : zNPCSubBoss
U8 active; //0x2EC
S32 count; //0x2f0
F32 intensity;
F32 delay;
F32 delay; //0x2f8
} blink;
struct
{
Expand All @@ -120,7 +123,7 @@ struct zNPCKingJelly : zNPCSubBoss
child_data children[32];
U32 children_size; //0x88C
F32 last_tentacle_shock;
zLightning* tentacle_lightning[7];
zLightning* tentacle_lightning[7]; //0x894 [0]
xVec3 tentacle_points[13][7];
lightning_ring ambient_rings[3];
lightning_ring wave_rings[4];
Expand All @@ -136,6 +139,7 @@ struct zNPCKingJelly : zNPCSubBoss
void Destroy();
U32 AnimPick(S32 rawgoal, en_NPC_GOAL_SPOT gspot, xGoal* goal);
void BUpdate(xVec3*);
void RenderExtra();
void SelfSetup();
void init_child(zNPCKingJelly::child_data&, zNPCCommon&, int);
void disable_child(zNPCKingJelly::child_data&);
Expand All @@ -144,6 +148,7 @@ struct zNPCKingJelly : zNPCSubBoss
void load_model();
void load_curtain_model();
void reset_curtain();
void start_blink();
void decompose();
void post_decompose();
void vanish();
Expand All @@ -153,10 +158,14 @@ struct zNPCKingJelly : zNPCSubBoss
void on_change_fade_obstructions(const tweak_info&);
void render_debug();
void create_tentacle_lightning();
void destroy_tentacle_lightning();
void refresh_tentacle_points();
void refresh_tentacle_points(S32);
void destroy_ambient_rings();
void generate_spawn_particles();
void update_round();
void end_charge();
void create_ambient_rings();
};

struct zNPCGoalKJIdle : zNPCGoalCommon
Expand Down Expand Up @@ -204,6 +213,15 @@ struct zNPCGoalKJShockGround : zNPCGoalCommon
zNPCGoalKJShockGround(S32 goalID) : zNPCGoalCommon(goalID)
{
}

S32 Enter(F32 dt, void* updCtxt);
S32 Exit(F32 dt, void* updCtxt);
S32 Process(en_trantype*, float, void*, xScene*);
S32 update_start(float);
S32 update_warm_up(float);
S32 update_release(float);
S32 update_cool_down(float);
S32 update_stop(float);
};

struct zNPCGoalKJDamage : zNPCGoalCommon
Expand Down
19 changes: 11 additions & 8 deletions src/SB/Game/zNPCTypeVillager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -361,14 +361,16 @@ void zNPCVillager::SpeakBegin()
psy_instinct->GoalSet(NPC_GOAL_SPEAK, 1);
}

void zNPCVillager::SpeakEnd() //80%
void zNPCVillager::SpeakEnd()
{
xPsyche* psy = psy_instinct;
psy->GIDInStack(NPC_GOAL_LIMBO);

if ((psy == 0) && (psy->GIDOfSafety() != 0))
if ((psy->GIDInStack(NPC_GOAL_LIMBO) == 0))
{
psy->GoalSet(NPC_GOAL_LIMBO, 1);
S32 safetyGid = psy->GIDOfSafety();
if (safetyGid != 0)
{
psy->GoalSet(safetyGid, 1);
}
}
}

Expand Down Expand Up @@ -489,13 +491,14 @@ void zNPCSandyBikini::Process(xScene* xscn, float dt) //100% code match
zNPCSandyBikini::VFXLeakyFaucet(dt);
}

void zNPCBalloonBoy::Init(xEntAsset* asset) //68%
void zNPCBalloonBoy::Init(xEntAsset* asset)
{
zNPCFish::Init(asset);
rast_shadBalloon = 0;
bound.type = 0;
cfg_npc->dst_castShadow = -1;
return;

//cg_npc 0x1d8
//cfg_npc 0x1d8
//bound.type 0x84
}

Expand Down
5 changes: 4 additions & 1 deletion src/SB/Game/zNPCTypeVillager.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ struct zNPCVillager : zNPCCommon
void SpeakBegin();
void SpeakEnd();
void TossMyConverse();
S32 PlayerIsStaring();
void ChkCheatSize();
F32 GenShadCacheRad();
};
Expand All @@ -49,6 +50,7 @@ struct zNPCFish : zNPCVillager
xEntDrive raw_drvdata;

zNPCFish(S32 myType);
void Init(xEntAsset*);
void ParseINI();
void FishSoundTables();
void CheckDoChat();
Expand Down Expand Up @@ -76,7 +78,7 @@ struct zNPCBalloonBoy : zNPCFish
S32 specialBalloon;
zPlatform* plat_balloons;
xShadowCache* shadCache;
RwRaster* rast_shadBalloon;
static RwRaster* rast_shadBalloon;

zNPCBalloonBoy(S32 myType);

Expand Down Expand Up @@ -213,6 +215,7 @@ xAnimTable* ZNPC_AnimTable_BalloonBoy();
xAnimTable* ZNPC_AnimTable_BalloonBoy(xAnimTable* callerTable);
xAnimTable* ZNPC_AnimTable_SuperFriend();
xAnimTable* ZNPC_AnimTable_SuperFriend(xAnimTable* callerTable);
S32 FOLK_grul_goAlert(xGoal*, void*, en_trantype*, float, void*);
void FOLK_KillEffects();
void FOLK_InitEffects();
void zNPCVillager_ScenePostInit();
Expand Down
Loading