char *ft_aux2(int sign, t_opt *opt, char *ret, int ind) { while (opt->prec > 0) { if (opt->spec / 2 == 0 && opt->out != 'p') ret = ft_add_c(ret, '0', -sign); else if (opt->spec / 2 == 0 && opt->out) ret = ft_add_c(ret, '0', 2); opt->prec--; } add_smt_bef(&ret, opt); if (ft_strchr(opt->flagu, '0') && ind) del_0(&ret, opt->larg); else { opt->larg = opt->larg - ft_strlen(ret); while (opt->larg > 0) { (opt->flagu && ft_strchr(opt->flagu, '-')) ? (ret = ft_add_c(ret, ' ', ft_strlen(ret))) : (ret = ft_add_c(ret, ' ', 0)); opt->larg--; } } return (ret); }
Game::~Game() { touchManager.setInGame(false); config.write(); serverConfig.write(); resetAdjustLevel(); destroyGuiWindows(); AnimatedSprite::setEnableCache(false); del_0(actorManager) if (client->getState() != STATE_CHANGE_MAP) del_0(player_node) del_0(commandHandler) del_0(effectManager) del_0(particleEngine) del_0(viewport) del_0(mCurrentMap) del_0(spellManager) del_0(spellShortcut) del_0(auctionManager) del_0(guildManager) #ifdef USE_MUMBLE del_0(mumbleManager) #endif Being::clearCache(); mInstance = nullptr; PlayerInfo::gameDestroyed(); }
/** * Destroy all the globally accessible gui windows */ static void destroyGuiWindows() { Net::getGeneralHandler()->gameEnded(); if (whoIsOnline) whoIsOnline->setAllowUpdate(false); if (auctionManager) auctionManager->clear(); if (guildManager) guildManager->clear(); del_0(windowMenu); del_0(localChatTab) // Need to do this first, so it can remove itself del_0(debugChatTab) del_0(tradeChatTab) del_0(battleChatTab) del_0(langChatTab) del_0(gmChatTab); logger->log("start deleting"); del_0(emoteWindow); del_0(chatWindow) logger->log("end deleting"); del_0(statusWindow) del_0(miniStatusWindow) del_0(inventoryWindow) del_0(shopWindow) del_0(skillDialog) del_0(minimap) del_0(equipmentWindow) del_0(beingEquipmentWindow) del_0(tradeWindow) del_0(debugWindow) del_0(itemShortcutWindow) del_0(emoteShortcutWindow) del_0(outfitWindow) #ifdef MANASERV_SUPPORT del_0(specialsWindow) #endif del_0(socialWindow) del_0(dropShortcutWindow); del_0(spellShortcutWindow); del_0(botCheckerWindow); del_0(questsWindow); del_0(whoIsOnline); del_0(killStats); if (auctionManager && AuctionManager::getEnableAuctionBot()) auctionManager->reload(); if (guildManager && GuildManager::getEnableGuildBot()) guildManager->reload(); }