mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 05:25:14 +00:00
DJUI fixes and changes
This commit is contained in:
parent
971ddc00cd
commit
565e8b6367
15 changed files with 44 additions and 91 deletions
|
@ -1886,7 +1886,7 @@ s32 act_taking_off_cap(struct MarioState *m) {
|
|||
s16 animFrame = set_character_animation(m, CHAR_ANIM_TAKE_CAP_OFF_THEN_ON);
|
||||
switch (animFrame) {
|
||||
case 0:
|
||||
if (!gCamera->paletteEditorCap) {
|
||||
if (gCamera->cutscene != CUTSCENE_PALETTE_EDITOR) {
|
||||
enable_time_stop_if_alone();
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "main.h"
|
||||
#include "rumble_init.h"
|
||||
#include "object_helpers.h"
|
||||
#include "pc/djui/djui.h"
|
||||
|
||||
s8 D_SH_8031D8F8[0x60];
|
||||
|
||||
|
@ -135,7 +136,7 @@ static void update_rumble_data_queue(void) {
|
|||
}
|
||||
|
||||
void queue_rumble_data(s16 a0, s16 a1) {
|
||||
if (gCurrDemoInput != NULL) {
|
||||
if (gCurrDemoInput != NULL || gDjuiInMainMenu) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ static Gfx* sSavedDisplayListHead = NULL;
|
|||
struct DjuiRoot* gDjuiRoot = NULL;
|
||||
static struct DjuiText* sDjuiPauseOptions = NULL;
|
||||
static struct DjuiText* sDjuiLuaError = NULL;
|
||||
u32 gDjuiLuaErrorTimeout = 0;
|
||||
static u32 sDjuiLuaErrorTimeout = 0;
|
||||
bool gDjuiInMainMenu = true;
|
||||
bool gDjuiDisabled = false;
|
||||
bool gDjuiShuttingDown = false;
|
||||
|
@ -38,7 +38,7 @@ void djui_shutdown(void) {
|
|||
if (sDjuiLuaError) djui_base_destroy(&sDjuiLuaError->base);
|
||||
sDjuiPauseOptions = NULL;
|
||||
sDjuiLuaError = NULL;
|
||||
gDjuiLuaErrorTimeout = 0;
|
||||
sDjuiLuaErrorTimeout = 0;
|
||||
|
||||
if (gDjuiConsole) {
|
||||
djui_base_destroy(&gDjuiConsole->base);
|
||||
|
@ -107,7 +107,7 @@ void djui_init_late(void) {
|
|||
gPanelLanguageOnStartup = true;
|
||||
djui_panel_language_create(NULL);
|
||||
}
|
||||
if (strcmp(configLastVersion, get_version())) {
|
||||
if (true) { // strcmp(configLastVersion, get_version())) {
|
||||
snprintf(configLastVersion, MAX_CONFIG_STRING, "%s", get_version());
|
||||
djui_panel_changelog_create(NULL);
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ void djui_lua_error(char* text, struct DjuiColor color) {
|
|||
djui_base_set_color(&sDjuiLuaError->base, color.r, color.g, color.b, color.a);
|
||||
djui_text_set_text(sDjuiLuaError, text);
|
||||
djui_base_set_visible(&sDjuiLuaError->base, true);
|
||||
gDjuiLuaErrorTimeout = 30 * 5;
|
||||
sDjuiLuaErrorTimeout = 30 * 5;
|
||||
}
|
||||
|
||||
void djui_reset_hud_params(void) {
|
||||
|
@ -163,9 +163,9 @@ void djui_render(void) {
|
|||
|
||||
djui_fps_display_render();
|
||||
|
||||
if (gDjuiLuaErrorTimeout > 0) {
|
||||
gDjuiLuaErrorTimeout--;
|
||||
if (gDjuiLuaErrorTimeout == 0) {
|
||||
if (sDjuiLuaErrorTimeout > 0) {
|
||||
sDjuiLuaErrorTimeout--;
|
||||
if (sDjuiLuaErrorTimeout == 0) {
|
||||
djui_base_set_visible(&sDjuiLuaError->base, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
extern struct DjuiRoot* gDjuiRoot;
|
||||
extern bool gDjuiInMainMenu;
|
||||
extern bool gDjuiDisabled;
|
||||
extern u32 gDjuiLuaErrorTimeout;
|
||||
|
||||
void djui_init(void);
|
||||
void djui_init_late(void);
|
||||
|
|
|
@ -65,6 +65,7 @@ f32 djui_gfx_get_scale(void) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
||||
static const Vtx vertex_djui_image[] = {
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
#include "djui_panel.h"
|
||||
#include "djui_panel_menu.h"
|
||||
|
||||
static char sChangelog[5][1024];
|
||||
#define PAGE_COUNT 1
|
||||
|
||||
static char sChangelog[PAGE_COUNT][1024];
|
||||
|
||||
void djui_panel_changelog_create(struct DjuiBase* caller) {
|
||||
struct DjuiThreePanel* panel = djui_panel_menu_create(DLANG(CHANGELOG, CHANGELOG_TITLE));
|
||||
|
@ -12,64 +14,9 @@ void djui_panel_changelog_create(struct DjuiBase* caller) {
|
|||
struct DjuiPaginated* paginated = djui_paginated_create(body, 1);
|
||||
struct DjuiBase* layoutBase = &paginated->layout->base;
|
||||
|
||||
snprintf(sChangelog[0], 1024, "Welcome back! - \\#ffff00\\v0.2\\#dcdcdc\\:\n\
|
||||
\n\
|
||||
\\#ffff00\\Changes:\\#dcdcdc\\\n\
|
||||
Added an update checker to notify people of new updates\n\
|
||||
Made the version on the main menu always the sm64coopdx version\n\
|
||||
Added over 40 missing gfx symbols to the DynOS parser\n\
|
||||
Increased object pool capacity from 960 to 1200\n\
|
||||
Made Mario & Luigi cap emblems use the shirt color\n\
|
||||
Moved changelog to the info panel\n\
|
||||
Added a properly implemented vanilla singleplayer pause\n\
|
||||
Restored the vanilla pause menu red coin display if there are 8\n\
|
||||
Restored vanilla camera zoom out with singleplayer\n\
|
||||
Forced DynOS and player panels to be uncentered");
|
||||
snprintf(sChangelog[1], 1024, "Made the light & dark theme panel backgrounds slightly less opaque\n\
|
||||
Disabled any vertex rounding when generating DynOS actors\n\
|
||||
Added option to only apply DynOS playermodels onto the local player\n\
|
||||
Made dirt particle vertex colorable\n\
|
||||
Allowed players to bounce on mid air players' heads\n\
|
||||
Made recovery hearts only heal the last person who touched it\n\
|
||||
Partially rewrote launch parameter code\n\
|
||||
Added --hide-loading-screen param\n\
|
||||
Increased vertical tilt range and disabled tilt centering while sliding for free cam");
|
||||
snprintf(sChangelog[2], 1024, "\\#ffff00\\Fixes:\\#dcdcdc\\\n\
|
||||
\n\
|
||||
Fixed console not being openable from the main menu\n\
|
||||
Fixed interpolated rectangles using the wrong resolution\n\
|
||||
Fixed SDL2 linux compositor with X11\n\
|
||||
Fixed memory leak with custom animations that caused strange glitches\n\
|
||||
Fixed sm64coopdx exclusive features still working when hosting sm64ex-coop servers\n\
|
||||
Fixed a bizzare bug with perfect frame pausing causing you to go to seemingly random warp nodes\n\
|
||||
Fixed 1 player lobbies saying 'Waiting for players...'\n\
|
||||
Fixed the --help launch parameter not outputting anything\n\
|
||||
Fixed --server jank by basically rewriting how it works");
|
||||
snprintf(sChangelog[3], 1024, "Fixed the mouse disappearing forever on the window after closing the chat\n\
|
||||
Fixed the bugs with transitions such as delays, not being able to pause, flashing, playing repeatedly\n\
|
||||
Fixed inconsistent capitalization on the loading screen\n\
|
||||
Fixed the cake screen cutting off and returning to the entry level too early\n\
|
||||
Fixed hoot having invisible wings\n\
|
||||
\n\
|
||||
\\#ffff00\\Lua API Changes:\\#dcdcdc\\\n\
|
||||
Added the ability to have global star IDs\n\
|
||||
Added the ability to not show star collection dialogs\n\
|
||||
Allowed FONT_HUD to have texture filtering\n\
|
||||
Added the ability to change window title\n\
|
||||
Added the ability to get the global timer\n\
|
||||
Added get and set functions for the HUD star flash");
|
||||
snprintf(sChangelog[4], 1024, "Added HUD_DISPLAY_CAMERA_STATUS for hud_get_value()\n\
|
||||
Exposed level_control_timer_running() to check if the timer is running\n\
|
||||
Raised max BASS audio files from 128 to 256\n\
|
||||
Added '-- pausable' field so mods can mark themselves as being able to function when the game is paused in singleplayer\n\
|
||||
Added OBJ_LIST_EXT for Lua mods to use just in case\n\
|
||||
\n\
|
||||
\\#ffff00\\Mod Changes:\\#dcdcdc\\\n\
|
||||
Updated Character Select to v1.7\n\
|
||||
Updated Toadette's model in [CS] Extra Characters\n\
|
||||
Updated Arena and added Blimp City, new music for levels and fixed KOTH, Rainbow Road collision and level lighting direction");
|
||||
snprintf(sChangelog[0], 1024, "Hi! This is Gabe Newell, welcome to sm64coopdx %s. If you have downloaded this build and do not come from the sm64coopdx v1.0 Testing Thread, please delete it and inform agentxlp.", SM64COOPDX_VERSION);
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
for (int i = 0; i < PAGE_COUNT; i++) {
|
||||
struct DjuiText* text = djui_text_create(layoutBase, sChangelog[i]);
|
||||
djui_base_set_location(&text->base, 0, 0);
|
||||
djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 360);
|
||||
|
|
|
@ -17,7 +17,7 @@ More features, customization, and power to the Lua API allow modders and players
|
|||
|
||||
struct DjuiText* text = djui_text_create(body, sInfo);
|
||||
djui_base_set_location(&text->base, 0, 0);
|
||||
djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 220);
|
||||
djui_base_set_size(&text->base, (DJUI_DEFAULT_PANEL_WIDTH * (configDjuiThemeCenter ? DJUI_THEME_CENTERED_WIDTH : 1)) - 64, 300);
|
||||
djui_base_set_color(&text->base, 220, 220, 220, 255);
|
||||
djui_text_set_drop_shadow(text, 64, 64, 64, 100);
|
||||
djui_text_set_alignment(text, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
|
|
|
@ -87,7 +87,7 @@ void djui_panel_join_query(uint64_t aLobbyId, UNUSED uint64_t aOwnerId, uint16_t
|
|||
snprintf(mode, 64, "%s", aMode);
|
||||
|
||||
char version[MAX_VERSION_LENGTH] = { 0 };
|
||||
snprintf(version, MAX_VERSION_LENGTH, "%s", get_version());
|
||||
snprintf(version, MAX_VERSION_LENGTH, "%s", get_version_online());
|
||||
if (strcmp(version, aVersion) != 0) {
|
||||
snprintf(mode, 64, "\\#ff0000\\[%s]", aVersion);
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ void djui_panel_join_lobbies_create(struct DjuiBase* caller, const char* passwor
|
|||
djui_text_set_alignment(text, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
}
|
||||
|
||||
djui_button_create(body, DLANG(RULES, RULES), DJUI_BUTTON_STYLE_NORMAL, djui_panel_rules_create);
|
||||
if (!private) { djui_button_create(body, DLANG(RULES, RULES), DJUI_BUTTON_STYLE_NORMAL, djui_panel_rules_create); }
|
||||
|
||||
struct DjuiRect* rect2 = djui_rect_container_create(body, 64);
|
||||
{
|
||||
|
|
|
@ -8,6 +8,11 @@
|
|||
#ifdef COOPNET
|
||||
static char sRules[512];
|
||||
|
||||
static void djui_panel_rules_deny(struct DjuiBase* caller) {
|
||||
configRulesVersion = 0;
|
||||
djui_panel_menu_back(caller);
|
||||
}
|
||||
|
||||
static void djui_panel_rules_accept(struct DjuiBase* caller) {
|
||||
configRulesVersion = RULES_VERSION;
|
||||
djui_panel_join_lobbies_create(caller, "");
|
||||
|
@ -52,7 +57,7 @@ DLANG(RULES, RULE_5));
|
|||
|
||||
struct DjuiRect* rect = djui_rect_container_create(body, 64);
|
||||
{
|
||||
djui_button_left_create(&rect->base, DLANG(MENU, NO), DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back);
|
||||
djui_button_left_create(&rect->base, DLANG(MENU, NO), DJUI_BUTTON_STYLE_BACK, djui_panel_rules_deny);
|
||||
djui_button_right_create(&rect->base, DLANG(MENU, YES), DJUI_BUTTON_STYLE_NORMAL, djui_panel_rules_accept);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -239,7 +239,7 @@ static char* djui_text_render_line_parse_escape(char* c1, char* c2) {
|
|||
sSavedR = (r << 4) | r;
|
||||
sSavedG = (g << 4) | g;
|
||||
sSavedB = (b << 4) | b;
|
||||
} else if (colorPieces == 4) {
|
||||
/*} else if (colorPieces == 4) {
|
||||
u32 r = (color >> 12) & 0xF;
|
||||
u32 g = (color >> 8) & 0xF;
|
||||
u32 b = (color >> 4) & 0xF;
|
||||
|
@ -247,17 +247,17 @@ static char* djui_text_render_line_parse_escape(char* c1, char* c2) {
|
|||
sSavedR = (r << 4) | r;
|
||||
sSavedG = (g << 4) | g;
|
||||
sSavedB = (b << 4) | b;
|
||||
sSavedA = (a << 4) | a;
|
||||
sSavedA = (a << 4) | a;*/
|
||||
} else if (colorPieces == 6) {
|
||||
sSavedR = ((color >> 16) & 0xFF);
|
||||
sSavedG = ((color >> 8) & 0xFF);
|
||||
sSavedB = ((color >> 0) & 0xFF);
|
||||
} else if (colorPieces == 8) {
|
||||
}/*else if (colorPieces == 8) {
|
||||
sSavedR = ((color >> 24) & 0xFF);
|
||||
sSavedG = ((color >> 16) & 0xFF);
|
||||
sSavedB = ((color >> 8) & 0xFF);
|
||||
sSavedA = ((color >> 0) & 0xFF);
|
||||
}
|
||||
}*/
|
||||
gDPSetEnvColor(gDisplayListHead++, sSavedR, sSavedG, sSavedB, sSavedA);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ void smlua_mod_warning(void) {
|
|||
if (mod == NULL) { return; }
|
||||
if (mod->ignoreScriptWarnings) { return; }
|
||||
char txt[255] = { 0 };
|
||||
snprintf(txt, 254, "'%s\\#ffe600\\' is using deprecated functions!", mod->name);
|
||||
snprintf(txt, 254, "'%s\\#ffe600\\' has script warnings!", mod->name);
|
||||
static const struct DjuiColor color = { 255, 230, 0, 255 };
|
||||
djui_lua_error(txt, color);
|
||||
}
|
||||
|
|
|
@ -17,15 +17,6 @@
|
|||
// to let other players know the update is out
|
||||
#undef GAME_NAME
|
||||
#define GAME_NAME "sm64ex-coop"
|
||||
static char sVersionString[MAX_VERSION_LENGTH] = { 0 };
|
||||
const char* get_version_online(void) {
|
||||
#if defined(VERSION_US)
|
||||
snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d", VERSION_TEXT, VERSION_NUMBER);
|
||||
#else
|
||||
snprintf(sVersionString, MAX_VERSION_LENGTH, "%s%d %s", VERSION_TEXT, VERSION_NUMBER, VERSION_REGION);
|
||||
#endif
|
||||
return sVersionString;
|
||||
}
|
||||
|
||||
#ifdef COOPNET
|
||||
|
||||
|
|
|
@ -118,7 +118,6 @@ void network_send_join(struct Packet* joinRequestPacket) {
|
|||
packet_write(&p, &gServerSettings.playerKnockbackStrength, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.stayInLevelAfterStar, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.skipIntro, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.enableCheats, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.bubbleDeath, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.headlessServer, sizeof(u8));
|
||||
packet_write(&p, &gServerSettings.nametags, sizeof(u8));
|
||||
|
@ -171,7 +170,6 @@ void network_receive_join(struct Packet* p) {
|
|||
packet_read(p, &gServerSettings.playerKnockbackStrength, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.stayInLevelAfterStar, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.skipIntro, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.enableCheats, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.bubbleDeath, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.headlessServer, sizeof(u8));
|
||||
packet_read(p, &gServerSettings.nametags, sizeof(u8));
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "types.h"
|
||||
|
||||
static char sVersionString[MAX_VERSION_LENGTH] = { 0 };
|
||||
static char sOnlineVersionString[MAX_VERSION_LENGTH] = { 0 };
|
||||
|
||||
const char* get_version(void) {
|
||||
#if defined(VERSION_US)
|
||||
|
@ -12,3 +13,12 @@ const char* get_version(void) {
|
|||
#endif
|
||||
return sVersionString;
|
||||
}
|
||||
|
||||
const char* get_version_online(void) {
|
||||
#if defined(VERSION_US)
|
||||
snprintf(sOnlineVersionString, MAX_VERSION_LENGTH, "%s%d", VERSION_TEXT, VERSION_NUMBER);
|
||||
#else
|
||||
snprintf(sOnlineVersionString, MAX_VERSION_LENGTH, "%s%d %s", VERSION_TEXT, VERSION_NUMBER, VERSION_REGION);
|
||||
#endif
|
||||
return sOnlineVersionString;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#ifndef VERSION_H
|
||||
#define VERSION_H
|
||||
|
||||
#define SM64COOPDX_VERSION "v1.0"
|
||||
#define SM64COOPDX_VERSION "Prerelease 2"
|
||||
|
||||
// sm64ex-coop version, for mod compatibility
|
||||
// internal version
|
||||
#define VERSION_TEXT "v"
|
||||
#define VERSION_NUMBER 37
|
||||
#define MINOR_VERSION_NUMBER 0
|
||||
|
@ -24,11 +24,12 @@
|
|||
#elif !defined(VERSION_US)
|
||||
#define GAME_NAME "sm64coopdx-intl"
|
||||
#else
|
||||
#define GAME_NAME "sm64coopdx"
|
||||
#define GAME_NAME "sm64coopdx-TESTING"
|
||||
#endif
|
||||
|
||||
#define MAX_VERSION_LENGTH 32
|
||||
|
||||
const char* get_version(void);
|
||||
const char* get_version_online(void);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue